list

(PHP 3, PHP 4, PHP 5 )

list --  Asigna variables como si fueran una matriz

Descripción

void list ( mixed varname, mixed ... )

Como array(), esta no es realmente una función, sino una construcción del lenguaje. list() se usa para asignar una lista de variables en una sola operación.

Nota: list() solo funciona con matrices numéricas y asume que el índice numérico empieza en 0.

Ejemplo 1. Ejemplo de list()

<?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";

?>

Ejemplo 2. Otro ejemplo del uso de 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>

Aviso

list() asigna los valores comenzando por el parámetro más a la derecha. Si está usando variables independientes, no tiene que preocuparse acerca de esto. Pero si está usando matrices con índices usualmente se esperaría tener el orden de los índices en la matriz en la misma forma que se se escribió en la función list() de izquierda a derecha; lo cuál no ocurrirá, son asignados en orden inverso.

Ejemplo 3. Usando list() con matrices coníndices

<?php

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

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

var_dump($a);

?>

Da la siguiente salida (note el orden de los elementos comparado en el orden en el que fueron escritos en la función list()):

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

Vea también: each(), array() y extract().

Hosting by: hurra.com
Generated: 2007-01-26 18:01:01