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

Hosting by: Hurra Communications Sp. z o.o.
Generated: 2007-01-26 18:02:46