Forum und email

list

(PHP 4, PHP 5)

list — Tildeler værdier til variabler, som om de var et array

Beskrivelse

void list ( mixed $varname , mixed $... )

Denne funktion, er lige som array(), ikke nogen rigtig funktion men en såkaldt language construc. Altså en indbygget funktion. list() kan bruges til at sætte en liste af variabler på en gang.

Note: list() virker kun ved arrays som har nøgler der består af numre og som starter ved 0.

Example#1 list() eksempel

<?php

$info 
= array('coffee''brown''caffeine');

// Lister alle variabler
list($drink$color$power) = $info;
echo 
"$drink is $color and $power makes it special.\n";

// Lister nogen af dem
list($drink, , $power) = $info;
echo 
"$drink has $power.\n";

// eller lade os springe til den tredje
list( , , $power) = $info;
echo 
"I need $power!\n";

?>

Example#2 Et eksempel på brug af list()

<table>
 <tr>
  <th>Employee name</th>
  <th>Salary</th>
 </tr>

<?php

$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";
}

?>

</table>

Warning

list() tildeler værdier startende fra værdien længst mod højre. Hvis funktionen kun bruges til normale variabler, vil det ikke have nogen betydning. Men hvis du bruger arrays, vil du normalt forvente at de bliver sat i samme rækkefølge som du skriver dem i list() fra venstre mod højre; men det bliver de ikke. De bliver sat i omvendt rækkefølge.

Example#3 Brug af list() til arrays

<?php

$info 
= array('coffee''brown''caffeine');

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

var_dump($a);

?>

Dette giver følgende resultat (bemærk rækkefølgen af elementer i forhold til den måde de er skrevet i list() funktionen):

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

Se også each(), array() og extract().