list

(PHP 3, PHP 4 )

list --  Priradiť premenné ako keby boli pole

Popis

void list ( mixed ...)

Podobne ako array(), ani toto 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 poliami a preberá číselné indexy od 0.

Príklad 1. list() príklady

<?php

$info = array('kava', 'hneda', 'kofein');

// Výpis všetkých premenných
list($drink, $farba, $sila) = $info;
print "$drink je $farba a $silar ho robi specialnym.\n";

// Výpis niektorých z nich
list($drink, , $sila) = $info;
print "$drink ma $silu.\n";

// Alebo ponecháme iba tretiu
list( , , $sila) = $info;
print "Potrebujem $silu!\n";

?>

Príklad 2. Príklad použitia list()

<table>
 <tr>
  <th>Meno zamenstanca</th>
  <th>Plat</th>
 </tr>

<?php

$vysledok = mysql_query ("SELECT id, name, salary FROM employees",$conn);
while (list ($id, $name, $salary) = mysql_fetch_row ($result)) {
    print (" <tr>\n".
           "  <td><a href=\"info.php?id=$id\">$name</a></td>\n".
           "  <td>$salary</td>\n".
           " </tr>\n");
}

?>

</table>

Varovanie

list() priraďuje hodnoty počínajúc parametrom najviac vľavo. Ak používate prosté premenné, nerobte si kvôli tomu starosti. Ale ak používate polia s indexami, od ktorých očakávate rovnaké poradie indexov v poli ako ste napísali v list() z ľava do prava; tak to nie je. Je priradené v opačnom poradí.

Príklad 3. Použitie list() s indexami poľa

<?php

$info = array('kava', 'hneda', 'kofein');

list($a[0], $a[1], $a[2]) = $info;

var_dump($a);

?>
Vracia následujúci výstup (pozor na poradie prvkov porovnávané v takom poradí, v akom boli napísané v list() syntaxe):
array(3) {
  [2]=>
  string(8) "kofein"
  [1]=>
  string(5) "hneda"
  [0]=>
  string(6) "kava"
}

Tiež pozri each(), array() a extract().