Podręcznik PHP
Poprzedni |  | Następny

# list

(PHP 3, PHP 4, PHP 5)

list -- Przypisz zmienne tak jakby były tablicą

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

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