Polia v PHP

PHP podporuje skaláry a asociatívne polia. Môžeme ich vytvoriť pomocou funkcie list() alebo array() alebo explicitne definovať každý prvok poľa.

Príklad: Naplnenie poľa

$a[0] = "abc";
$a[1] = "def";
$b["foo"] = 13;

Pole tiež môžeme vytvoriť prostým pridaním hodnôt do poľa. V prípade, že použijeme prázdne zložené zátvorky, prvok bude zaradený na koniec poľa.

Príklad: Naplnenie poľa bez použitia indexu

$a[0] = "abc";
$a[1] = "def";// tieto dve položky už máme v poli

$a[] = "ahoj";// $a[2] == "ahoj"
$a[] = "svet";// $a[3] == "svet"

Polia môžeme triediť pomocou funkcií: asort(), arsort(), ksort(), rsort(), sort(), uasort(), usort() a uksort()

Funkcia count() vráti počet prvkov poľa.

Po poli môžeme prechádzať pomocou funkcie Next() alebo Previous(). Ďalšie funkcie na www.php.net.

Viacrozmerné polia

Viacrozmerné pole si môžeme predstaviť ako bežné pole, ktorého každým prvkom je opäť pole - pole stĺpcov, pričom každým prvkom je pole predstavujúci riadok tabuľky.

Príklad: Naplnenie viacrozmerného poľa

$a[1] = $f;// jednorozmerné polia
$a["foo"] = $f;

$a[1][0] = $f;// dvojrozmerné pole
$a["foo"][2] = $f;// (mix asociatívneho a numerického poľa)
$a[3]["bar"] = $f;

$a["foo"][4]["bar"][0] = $f; // štvorrozmerné pole
$a[3]['bar'] = 'Bob';
echo "Toto napísal: {$a[3][bar]}";

Príklad: Naplnenie viacrozmerného poľa

// Príklad 1:
$a["color"] = "red";
$a["taste"] = "sweet";
$a["shape"] = "round";
$a["name"] = "apple";
$a[3] = 4;

// Príklad 2:
$a = array(
  "color" => "red",
  "taste" => "sweet",
  "shape" => "round",
  "name" => "apple",
  3 => 4
);

Funkcia array() môže byť použitá aj pre viacrozmerné polia.

Príklad: Naplnenie viacrozmerného poľa pomocou array

$a = array(
  "apple" => array(
    "color" => "red",
    "taste" => "sweet",
    "shape" => "round"
  ),
    "orange" => array(
    "color" => "orange",
    "taste" => "tart",
    "shape" => "round"
  ),
    "banana" => array(
    "color" => "yellow",
    "taste" => "paste-y",
    "shape" => "banana-shaped"
  )
);

echo $a["apple"]["taste"]; // vypíše "sweet"