Medzi najzákladnejšie funkcie pre prácu s poľom patrí funkcia count().
Funkcia count($pole) spočíta počet prvkov poľa $pole.
Príklad:
<?php
$den = Array("1" => "Pondelok",
"2" => "Utorok",
"3" => "Streda",
"4" => "Štvrtok",
"5" => "Piatok",
"6" => "Sobota",
"0" => "Nedeľa");
for($i=0; $i<count($den);
$i++) echo $den[$i]."<br />";
echo count($den);
?>
Výsledok príkladu:
Nedeľa
Pondelok
Utorok
Streda
Štvrtok
Piatok
Sobota
7
Funkcia each($pole) vracia aktuálny kľúč a pár hodnôt z poľa $pole a posúva kurzor poľa. Tento pár sa vracia v štvor-prvkovom poli s kľúčami 0, 1, key a value. Prvky 0 a key obsahujú kľúčový názov prvku poľa a 1 a value obsahujú dáta.
Ak vnútorný ukazovateľ pre pole ukazuje na koniec obsahu poľa, each() vracia FALSE.
Príklad:
$foo = array ("bob", "fred", "jussi", "jouni", "egon", "marliese");
$bar = each ($foo);
$bar teraz obsahuje následujúce páry kľúčov/hodnôt:
0 => 01 => ‚bob’key => 0value => ‚bob‘
Príklad:
$foo = array ("Robert" => "Bob", "Seppo" => "Sepi");
$bar = each ($foo);
$bar teraz obsahuje následujúce páry kľúčov/hodnôt:
0 => ‚Robert’1 => ‚Bob’key => ‚Robert’value => ‚Bob‘
each() sa väčšinou používa spolu s list().
Príklad:
<?php while (list($key,$value) = each($den)) echo $value.","; ?>
Výsledok príkladu:
Pondelok,Utorok,Streda,Štvrtok,Piatok,Sobota,Nedeľa,
Po vykonaní funkcie each() bude kurzor poľa ponechaný na ďalšom prvku poľa alebo na poslednom prvku, ak je na konci poľa.
Funkcia list() (podobne ako array()) nie je v podstate funkcia, ale jazyková konštrukcia. list() sa používa na priradenie zoznamu premenných v jednej operácii.
Poznámka: list() funguje iba s číselnými poľami a preberá číselné indexy od 0.
Príklad:
<?php
$info = array('Kava', 'hneda', 'kofein');
// Výpis všetkých premenných
list($drink, $farba, $sila) = $info;
print "$drink je $farba a $sila ju robí špeciálnou.<br />";
// Výpis niektorých z nich
list($drink, , $sila) = $info;
print "$drink ma $sila.<br />";
// Alebo ponecháme iba tretiu
list( , , $sila) = $info;
print "Potrebujem $sila!";
?>
Výsledok príkladu:
Kava je hneda a kofein ju robí špeciálnou.
Kava ma kofein.
Potrebujem kofein!
Pre každé pole existuje v PHP ukazateľ (kurzor), ktorý ukazuje na niektorý prvok poľa. Funkcia reset() prenesie tento ukazateľ na prvý prvok poľa.
Príklad:
<?php echo "<br />Ďalší výpis:<br />"; while (list($key,$value) = each($den)) echo $value.","; echo "<br />Výpis po resetovaní kurzora:<br />"; reset($den); while (list($key,$value) = each($den)) echo $value.","; ?>
Výsledok príkladu:
Ďalší výpis:
Výpis po resetovaní kurzora:
Pondelok,Utorok,Streda,Štvrtok,Piatok,Sobota,Nedeľa,
Funkcia current($pole) vracia hodnotu prvku poľa $pole, na ktorý ukazuje ukazateľ.
Podobne funguje aj funkcia next(), ktorá najskôr presunie ukazateľna ďalší prvok poľa a až potom vráti hodnotu prvku poľa. Funkcia prev() sa správa práve tak ako next(), až no to, že vnútorný ukazovateľ poľa sa posúva späť a nie dopredu.
Funkcia key() vracia index prvku poľa, na ktorý ukazuje ukazateľ.
Funkcia end() posúva vnútorný ukazovateľ poľa na posledný prvok a vracia tento prvok.
Príklad:
<?php
reset($den);
while(current($den))
{
echo "Index: ".key($den);
echo "Hodnota: ".current($den);
next($den);
}
?>
Výsledok príkladu:
Index: 1
Hodnota: Pondelok
Index: 2
Hodnota: Utorok
Index: 3
Hodnota: Streda
Index: 4
Hodnota: Štvrtok
Index: 5
Hodnota: Piatok
Index: 6
Hodnota: Sobota
Index: 0
Hodnota: Nedeľa
Ďalšie príklady asociatívnych polí
Príklad: asociatívne pole č.1
$arr = array("foo" => "bar", 12 => true);
echo $arr["foo"]."<br />";
echo $arr[12];
Výsledok príkladu:
bar
1
Príklad: asociatívne pole č.2
$arr1 = array(5 => 43, 32, 56, "b" => 12); $arr2 = array(5 => 43, 6 => 32, 7 => 56, "b" => 12); echo $arr1[5]."<br />"; echo $arr1[6]."<br />"; echo $arr1[7]."<br />"; echo $arr1[b]."<br />"; echo " <br />"; echo $arr2[5]."<br />"; echo $arr2[6]."<br />"; echo $arr2[7]."<br />"; echo $arr2[b];
Výsledok príkladu:
43
32
56
12
43
32
56
12
PHP umožňuje tiež prácu s viacrozmernými poľami:
$a[1] = 1; // jednorozmerné pole $a[1][1] = 1; // dvojrozmerné pole, matica$a[1]["a"][2] = 1; // trojrozmerné pole
Príklad: jednoduché viacrozmerné pole
$arr = array("somearray" => array(6 => 5, 13 => 9, "a" => 42));
echo $arr["somearray"][6]."<br />";
echo $arr["somearray"][13]."<br />";
echo $arr["somearray"]["a"];
Výsledok príkladu:
5
9
42
Príklad: jednoduché viacrozmerné pole
$fruits = array("fruits" => array("a" => "orange",
"b" => "banana",
"c" => "apple"),
"numbers" => array(1,
2,
3,
4,
5,
6),
"holes" => array("first",
5 => "second",
"third")
);
echo $fruits["holes"][5]."<br />";
echo $fruits["fruits"]["a"]."<br />";
echo $fruits["holes"][0]." (pred zrušením)<br />";
// zrušenie premennej
unset($fruits["holes"][0]);
echo $fruits["holes"][0]."(po zrušení)";
Výsledok príkladu:
second
orange
first (pred zrušením)
(po zrušení)
