Forum und email

list

(PHP 4, PHP 5)

list — Priradiť premenné ako keby boli pole

Popis

void list ( mixed $varname , 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.

Note: list() funguje iba s číselnými poliami a preberá číselné indexy od 0.

Example#1 list() príklady

<?php

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

// Vypis vsetkych premennych
list($drink$farba$sila) = $info;
echo 
"$drink je $farba a $sila ho robi specialnym.\n";

// Vypis niektorych z nich
list($drink, , $sila) = $info;
echo 
"$drink ma $sila.\n";

// Alebo ponechame iba tretiu
list( , , $sila) = $info;
echo 
"Potrebujem $sila!\n";

?>

Example#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($vysledok)) {
    echo 
" <tr>\n" .
           
"  <td><a href=\"info.php?id=$id\">$name</a></td>\n".
           
"  <td>$salary</td>\n".
           
" </tr>\n";
}

?>

</table>

Warning

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í.

Example#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().