list
(PHP 4, PHP 5)
list — Cria variáveis como se fossem arrays
Descrição
Assim como array(), não é exatamente uma função, e sim uma construção da própria linguagem. list() é usada para criar uma lista de variáveis em apenas um operação.
Nota: list() só funciona em arrays com Ãndices numéricos e assume que esses Ãndices começam de 0 (zero).
Example#1 Exemplo de list()
<?php
$info = array('Café', 'marrom', 'cafeÃna');
// Listando todas as variáveis
list($bebida, $cor, $substancia) = $info;
echo "$bebida é $cor e $substancia a faz especial.\n";
// Listando apenas alguns deles
list($bebida, , $substanciar) = $info;
echo "$bebida tem $substancia.\n";
// Ou ignoramos os primeiros valores para conseguir apenas o último
list( , , $substancia) = $info;
echo "I need $substancia!\n";
// list() doesn't work with strings
list($bar) = "abcde";
var_dump($bar); // NULL
?>
Example#2 Exemplo de list()
<table>
<tr>
<th>Lista de empregados</th>
<th>Salário</th>
</tr>
<?php
$result = mysql_query ("SELECT id, nome, salario FROM empregados", $conn);
while (list ($id, $nome, $salario) = mysql_fetch_row ($result)) {
echo " <tr>\n" .
" <td><a href=\"info.php?id=$id\">$nome</a></td>\n" .
" <td>$salario</td>\n" .
" </tr>\n";
}
?>
</table>
A função list() assinala os valores começando pelos parâmetros da direita. Se você está usando variáveis normais, então não precisa se preocupar com esse detalhe. Mas se você está usando arrays com Ãndices você normalmente iria esperar que a ordem dos Ãndices no array fosse da esquerda para a direita, mas não é isso que acontece. O Ãndice é criado na ordem reversa.
Example#3 Usando list() com Ãndices de array
<?php
$info = array('café', 'marrom', 'cafeÃna');
list($a[0], $a[1], $a[2]) = $info;
var_dump($a);
?>
O retorno desse script é o seguinte (note a ordem dos elementos em comparação com o array original):
array(3) { [2]=> string(8) "cafeÃna" [1]=> string(5) "marrom" [0]=> string(6) "café" }