list

list - přiřadí proměnným hodnoty, jako kdyby byly polem.

Syntaxe:

array list ( mixed $varname [, mixed $... ] )

Podobně, jako array() toto není funkce, ale jazyková konstrukce. list() se použivá na to, aby se dalo přiřadit seznamu proměnných hodnoty v jedné operaci.

Poznámka: funkce list() funguje jenom s polí, indexami kterých jsou klíče a číslování se začína v 0.

Příklad použíti č.1:

<?php
$info = array('coffee''brown''caffeine');

// Listing all the variables
list($drink$color$power) = $info;
echo 
"$drink is $color and $power makes it special.\n";

// Listing some of them
list($drink, , $power) = $info;
echo 
"$drink has $power.\n";

// Or let's skip to only the third one
list( , , $power) = $info;
echo 
"I need $power!\n";

// list() doesn't work with strings
list($bar) = "abcde";
var_dump($bar); // NULL
?>

Příklad použíti č.2:

<?php
echo '<table>
 <tr>
  <th>Employee name</th>
  <th>Salary</th>
 </tr>'
;


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


echo 
'</table>';
?>

Příklad použíti č.3:

<?php
list($a, list($b$c)) = array(1, array(23));

var_dump($a$b$c);
?>

Výsledek je následující:

int(1)
int(2)
int(3)

Příklad použíti č.4:

<?php
$info = array('coffee''brown''caffeine');

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

var_dump($a);
?>

Výsledek je následující:

array(3) {
  [2]=>
  string(8) "caffeine"
  [1]=>
  string(5) "brown"
  [0]=>
  string(6) "coffee"
}

Poznámka: funkce list() přiřazuje hodnoty od krajního pravého parametru. Pokud použivate obyčejné proměnné nemusíte se o to starat. Ale když použivate indexované pole, tak hodnoty budou přiřazený v opačném pořadí.

Viz také: