list
(PHP 3, PHP 4 )
list --
Assegna valori a delle variabili come se fossero un array
Descrizione
void
list ( mixed ...)
Come array(), questa non è in realtà una funzione,
bensì un costrutto del linguaggio. list() è usata per
assegnare valori ad una lista di variabili in una sola operazione.
Nota:
list() funziona solo su array numerici e si aspetta
che gli indici numerici partano da 0.
Esempio 1. esempio di list() <?php
$info = array('caffè', 'scuro', 'caffeina');
// assegna a tutte le variabili
list($bevanda, $colore, $componente) = $info;
print "Il $bevanda è $colore e la $componente lo rende speciale.\n";
// assegna solo in parte
list($bevanda, , $componente) = $info;
print "Il $bevanda ha la $componente.\n";
// oppure assegnamo solo l'ultima variabile
list( , , $componente) = $info;
print "Ho voglia di $bevanda!\n";
?> |
|
Esempio 2. Esempio di uso di list() <table>
<tr>
<th>Nome dell'impiegato</th>
<th>Stipendio</th>
</tr>
<?php
$risultato = mysql_query ("SELECT id, nome, stipendio FROM impiegati",$conn);
while (list ($id, $nome, $stipendio) = mysql_fetch_row ($risultato)) {
print (" <tr>\n".
" <td><a href=\"info.php?id=$id\">$nome</a></td>\n".
" <td>$stipendio</td>\n".
" </tr>\n");
}
?>
</table> |
|
Attenzione |
list() assegna i valori cominciando dal parametro più a
destra. Se si stanno usando variabili semplici, non ci si deve preoccupare
di questo fatto. Ma se si stanno usando array con indici di solito ci si aspetta che
l'ordine degli indici negli array sia quello scritto negli argomenti della funzione
list(), da sinistra a destra; non è così. L'ordine è
invertito.
|
Esempio 3. Utilizzo di list() con gli indici <?php
$info = array('caffè', 'nero', 'caffeina');
list($a[0], $a[1], $a[2]) = $info;
var_dump($a);
?> |
|
Restituisce il segente risultato (si noti l'ordine degli elementi rispetto
all'ordine con cui sono stati scritti nella sintassi di
list()).
array(3) {
[2]=>
string(8) "caffeina"
[1]=>
string(4) "nero"
[0]=>
string(5) "caffè"
} |
Vedere anche each() e array()
e extract().