Podręcznik PHP
Poprzedni |  | Następny

# 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().

Poprzedni | Spis treści | Następny
ksort | Początek rozdziału | natcasesort