<< 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 />"
}
}
?>
