PHP II. Tömbök, sztringek
Tömbök Létrehozás [] használata: $t = array(key => value, ...); // key: int, string $t = array(‘nev’ => ‘Pista’, ‘kor’ => 25); $t = array(‘Pista’, ‘Józsi’, ‘Pali’); [] használata: $t[] = 25; // elem hozzáadása $t[4] = 3; unset($t[4]); // elem törlése unset($t); // teljes tömb törlése
Feladat Hozzunk létre tömböket (tomb_adat.php) 2D tömb $names = array(‘John’, ‘Axel’, ‘Boris’, ...); $cities = array(1 => ‘Berlin’, 2 => ‘Paris’, ...); $rec = array(‘name’ => ‘Paul’, ‘age’ => 12, ...); $results = array(3.5, 1.2, 1.56, 2.9, 1.2, ...); 2D tömb $records = array(); $records[] = array(‘name’ => ‘Paul’, ‘age’...); $records[] = array(‘name’ => ‘James’, ‘age’...);
Tömbök Tömb bejárás: $arr = array(‘nev’ => Pali, ‘kor’ => 24); foreach ($arr as $key => $value) echo ”$key : $value <br />”; $names = array(‘Pista’, ‘Józsi’, ‘Pali’); foreach ($names as $name) echo $name . ‘<br />’; foreach ($names as &$name) $name = ‘Jakab’; print_r($names); // nézzük meg & nélkül!
Feladat Járjuk be a tömböket require_once(‘tomb_adat.php’); foreach ($names as $name) echo ‘név: ‘ . $name . ‘<br />’; foreach ($rec as $key => $val) echo $key . ‘ = ‘ . $val . ‘<br />’; foreach ($results as &$result) $result += 5.5; print_r($results);
Tömbök Rendezés: Asszociatív tömb rendezés: Rendezés kulcs szerint: $cities = array(‘Paris’, ‘London’, ‘Berlin’); sort($cities); // rsort(), usort() foreach ($cities as $key => $city) echo ‘City ’ . $key . ‘ ‘ . $city . ‘<br />’; Asszociatív tömb rendezés: asort(), arsort(); uasort(); Rendezés kulcs szerint: ksort(); krsort(); uksort();
Feladat Rendezések: 2D tömb rendezése: (array_multisort()) sort($names); print_r($names); sort($cities); print_r($cities); asort($cities); print_r($cities); krsort($cities); print_r($cities); 2D tömb rendezése: (array_multisort()) function cmp($a, $b) { return strcmp($a[‘name’], $b[‘name’]); } usort($records, ‘cmp’); print_r($records);
Tömbök Elemek száma: count($tomb); Számosság: array_count_values($t); Elem vizsgálata: in_array(‘text’, $t); Kulcs vizsgálata: array_key_exists($k, $t); Tömbök kiértékelése: array_map(”PHP”,$tmp); Keresés tömbben: array_search(‘text’, $t); Résztömb: array_slice($t, $offset, $length);
Feladatok if (count($names) > 0) { $counter = array_count_values($names); print_r($counter); } // a $names –be írjunk egy nevet kétszer function add55($v) { return $v + 5.5; } $incr = array_map(‘add55’, $results); print_r($incr);
Sztringek Ismétlés: $str1 = ”Hello world”; $str2 = ‘Hello world’; $a = 45; $str = ”a értéke $a”; $str = $str1 . ‘ ‘ . $str2; if (is_str($str)) echo ‘a valtozo string tipusu’; utf8 nem natív támogatott (utf8_decode())
Sztringek Karakter adott pozícióban: chr($str, $pos); Titkosítás: crypt(); Szétvágás: $szavak=explode(‘ ‘, $sor); Összefűzés: $sor = implode(‘ ’, $szavak); HTML karakterek: htmlspecialchars($str); Vagy: htmlentities($str); ! Szóközök vágása: trim(), ltrim(); rtrim();
Sztringek Csere: str_replace($mit, $mire, $miben); Vagy str_ireplace(); // a és A ugyanaz Összehasonlítás strcmp(); strcasecmp(); Szöveg keresés: strstr(); stristr(); Karakter keresés: strpos(); strrpos(); Hossz: strlen(); Kis- nagybetű: strtolower(); strtoupper(); Rész sztring: substr($str, $offset, $length);
Feladatok $cities = explode(‘ ‘, ‘Paris Berlin London’); foreach ($cities as $city) echo strtoupper($city) . ‘<br />’; $message = ”<a href=\”mypage.php\”>Click</a>”; echo $message; echo ‘<br />’; echo htmlspecialchars($message);
Feladatok A penz_adat.php –ben a $nevek változó neveket tartalmaz ‘ ‘-el elválasztva. A $penznem pedig különböző országok pénznemeit. A $penz tárolja, hogy a tulajdonosoknak mekkora összeg áll rendelkezésére az egyes pénznemekből. A $valto tömb megadja hogy egy pénznem hány forintnak felel meg. Folytatás....
Feladat Írjuk ki (HTML táblázat formában), hogy kinek mennyi pénze van az egyes pénznemekből. A lista név szerint csökkenő sorrenben legyen. Írjuk ki, hogy az egyes pénznemekből összesen mekkora összeg van az embereknél. Írjuk ki, hogy kinek összesen mennyi pénze van forintban. Az összeg szerint növekvő sorrendben. Írjuk ki, hogy kinek összesen mennyi pénze van. Ezt az összeget az összes pénznemben adjuk meg.