Opis
void
list ( mixed zmienna, mixed ... )
Podobnie jak array(), nie jest na prawdę funkcją,
ale elementem składni języka. Instrukcja list()
jest używana do przypisywania listy zmiennych w jednej operacji.
Notatka:
list() działa tylko z tablicami o indeksach
liczbowych zakładając że indeksy zaczynają się od 0.
Przykład 1. Przykłady użycia list()
<?php
$info = array('kawa', 'brązowa', 'kofeina');
// Listowanie wszystkich zmiennych list($napój, $kolor, $składnik) = $info; echo "$napój jest $kolor a $składnik czyni ją wyjątkową.\n";
// Listowanie niektórych elementów list($napój, , $składnik) = $info; echo "$napój zawiera $składnik.\n";
// Albo przeskoczmy od razu do trzeciego list( , , $składnik) = $info; echo "Potrzebna jest mi $składnik!\n";
?>
|
|
Przykład 2. Przykład użycia list()
<table> <tr> <th>Nazwisko pracownika</th> <th>Pensja</th> </tr>
<?php
$wynik = mysql_query("SELECT id, nazwisko, pensja FROM pracownicy", $conn); while (list($id, $nazwisko, $pensja) = mysql_fetch_row($wynik)) { echo " <tr>\n" . " <td><a href=\"info.php?id=$id\">$nazwisko</a></td>\n" . " <td>$pensja</td>\n" . " </tr>\n"; } ?>
</table>
|
|
Ostrzeżenie |
list() Przypisuje wartości zaczynając parametru
znajdującego się po prawej. Przy używaniu zwykłych zmiennych nie ma
się o co martwić. Ale używając tablic z indeksami, zazwyczaj
oczekuje się, że kolejność indeksów w tablicy będzie taka sama jak zapis
wywołania list(), od lewej do prawej. Otóż tak nie
jest. Zmienne są przypisywane w odwrotnej kolejności.
|
Przykład 3. Przykład użycia list() z indeksowaną
tablicą
<?php
$info = array('kawa', 'brązowa', 'kofeina');
list($a[0], $a[1], $a[2]) = $info;
var_dump($a);
?>
|
|
Przykład ten wyświetli co następuje (zauważ kolejność elementów
porównując ją do tej, w której były one zapisane w wywołaniu funkcji
list()):
array(3) {
[2]=>
string(8) "kofeina"
[1]=>
string(5) "brązowa"
[0]=>
string(6) "kawa"
} |
Patrz także: each() array() i
extract().