list
(PHP 3, PHP 4 )
list --
Przypisz zmienne tak jakby były tablicą
Opis
void
list ( 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; print "$napój jest $kolor a $składnik czyni ją wyjątkową.\n";
// Listowanie niektórych elementów list($napój, , $składnik) = $info; print "$napój zawiera $składnik.\n";
// Albo przeskoczmy od razu do trzeciego list( , , $składnik) = $info; print "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)) { print (" <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) "caffeine"
[1]=>
string(5) "brown"
[0]=>
string(6) "coffee"
} |
Patrz także: each() array() i
extract().