downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

natcasesort> <ksort
[edit] Last updated: Fri, 17 May 2013

view this page in

list

(PHP 4, PHP 5)

listAsigna variables como si fuera un array

Descripción

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

Al igual que array(), no es realmente una función, es un constructor del lenguaje. list() se utiliza para asignar una lista de variables en una sola operación.

Parámetros

varname

La variable.

Valores devueltos

Devuelve el array asignado.

Ejemplos

Ejemplo #1 Ejemplos de list()

<?php

$info 
= array('café''marrón''cafeína');

// Listando todas las variables
list($drink$color$power) = $info;
echo 
"El $drink es $color y la $power lo hace especial.\n";

// Listando algunas variables
list($drink, , $power) = $info;
echo 
"El $drink tiene $power.\n";

// O vamos a omitir solo la tercera
list( , , $power) = $info;
echo 
"Necesito $power!\n";

// list() no funciona con cadenas
list($bar) = "abcde";
var_dump($bar); // NULL
?>

Ejemplo #2 Un ejemplo del uso de list()

<table>
 <tr>
  <th>Nombre del empleado</th>
  <th>Salario</th>
 </tr>

<?php

$result 
$pdo->query("SELECT id, name, salary FROM employees");
while (list(
$id$name$salary) = $result->fetch(PDO::FETCH_NUM)) {
    echo 
" <tr>\n" .
          
"  <td><a href=\"info.php?id=$id\">$name</a></td>\n" .
          
"  <td>$salary</td>\n" .
          
" </tr>\n";
}

?>

</table>

Ejemplo #3 Uso de list() dentro de list

<?php

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

var_dump($a$b$c);

?>
int(1)
int(2)
int(3)

Ejemplo #4 Uso de list() con índices array

<?php

$info 
= array('café''marrón''cafeína');

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

var_dump($a);

?>

Muestra la siguiente salida (nótese el orden de los elementos comparado con el orden escrito en la sintaxis de list()):

array(3) {
  [2]=>
  string(8) "café"
  [1]=>
  string(5) "marrón"
  [0]=>
  string(6) "cafeína"
}

Notas

Advertencia

list() asigna los valores empezando por el parámetro más a la derecha. Si se utilizan variables simples, no hay que preocuparse. Pero si se usan array con índices normalmente se espera que el orden de los ínices en el array sea el mismo que se escribió en list() de izquierda a derecha, el cual no es. Es asignado en el orden contrario.

Advertencia

La modificación del array durante la ejecución de list() (p.ej. usando list($a, $b) = $b) resultará en un comportamiento indefinido.

Nota:

list() solo funciona con arrays numéricos y se asume que el índice numérico empieza por 0.

Ver también

  • each() - Devolver el par clave/valor actual de un array y avanzar el cursor del array
  • array() - Crea un array
  • extract() - Importar variables a la tabla de símbolos actual desde un array



natcasesort> <ksort
[edit] Last updated: Fri, 17 May 2013
 
add a note add a note User Contributed Notes list - [3 notes]
up
16
chris at chlab dot ch
6 months ago
The example states the following:
<?php
// list() doesn't work with strings
list($bar) = "abcde";
var_dump($bar);
// output: NULL
?>

If the string is in a variable however, it seems using list() will treat the string as an array:
<?php
$string
= "abcde";
list(
$foo) = $string;
var_dump($foo);
// output: string(1) "a"
?>
up
9
svennd
4 months ago
The list() definition won't throw an error if your array is longer then defined list.
<?php

list($a, $b, $c) = array("a", "b", "c", "d");

var_dump($a); // a
var_dump($b); // b
var_dump($c); // c
?>
up
1
srikanth at networthindia dot com
3 months ago
Note: list cannot assign array cast of object to variables straight away. first you need to convert the object to numeric indexed array.

ex:
list($a, $b, $d) = (array) $abc; // $abc is an object; this will not assign.
list($a, $b, $c) = array_values((array) $abc); // This will work.

 
show source | credits | stats | sitemap | contact | advertising | mirror sites