<< Vkládání obsahu | P H P | Práce se soubory >>
Pole
- skupina souvisejících datových položek stejného typu (abeceda, jména žáků třídy...)
- po vytvoření přiřazení do proměnné jsou prvky pole indexovány (od nuly)
- prvky mohou být pojmenovány
- důležitý datový typ pro PHP
- využití při práci s databází MySQL
Vytvoření pole
- příkaz array("prvek0", "prvek1", "prvek2")
- každý prvek má své číslo - ten první (prvek0) má číslo nula.
<?php $PC = array("skříň", "disk", "RAM"); //využití funkce array() echo($PC[1]); //vypíše 'disk'; $firma = array (3 => "HP", "IBM"); //nastavení indexu echo($firma[4]); //vypíše 'IBM'; $student[2] = "Král"; //postupné přiřazování prvků i s indexem(2) $student[5] = "Zelený"; ?>
Výpis prvků pole
- pomocí čísla (indexu)
<?php echo($pole[cislo prvku])?>
- pomocí jména
<?php $lidi["jn"] = "Jan Novák"; $lidi["kp"] = "Karel Petera"; echo("absence: ".$pole["jn"].", ".$pole["kp"]);//absence: Jan Novák, Karel Petera $knihy = array("js" => "JavaScript v příkladech", "php" => "PHP pro profesionály"); echo($knihy["js"]); ?>
Procházení polem
- postupné vybrání všech prvků
- využití metody count($pole) vrací počet prvků pole
Výpis prvků indexovaného pole pomocí cyklu FOR
- lze použít jen pro indexované pole
<?php $kapitola = array("PHP", "CSS", "SQL", "XML"); for ($p = 0; $p < count($kapitola); ++$p) //cyklus s řídící proměnnou { echo ("Obsah knihy: ".$kapitola[$p]."<br>"); } ?>
Výpis pojmenovaných prvků pomocí cyklu WHILE
- použití metod each(), list() a reset():
- reset($pole) - nastavuje ukazatel na první prvek pole
- list($index,$stav) - přiřadí prvkům číslo uloží ho jako $index a hodnotu jako proměnnou $stav
- each($pole) - zajistí zpracování všech prvků pole
<?php $kapitola[PHP]="Hotové"; $kapitola[CSS]="Rozepsané"; $kapitola[XML]="Hotové"; $kapitola[SQL]="Nezačaté"; reset($kapitola); while(list($index, $stav) = each($kapitola)) //cyklus se vstupní podmínkou { echo ($index." - ".$kapitola." - ".$stav."<br>"); } ?>
Použití metody foreach
- zjištění hodnot - foreach ($pole as $hodnota)
- zjištění indexů a hodnot - foreach ($pole as $index => $hodnota)
<?php $slovnik = array(1 => array('barva', 'color'), 2 => array('domov', 'home'), 3 => array('ryba', 'fish')); foreach ($slovnik as $poradi => $cesky) { print "#poradi : $cesky - "; foreach ($cesky as $anglicky) { print "anglicky<br />" } } ?>