150 likes | 287 Views
PHP II. Tömbök, sztringek. Tömbök. Létrehozás $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
E N D
Tömbök • Létrehozás • $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) $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: • $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: 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.