listPrzypisuje zmienne tak jakby były tablicą
&reftitle.description;
arraylistmixedvarmixedvars
Podobnie jak array, nie jest tak naprawdę funkcją,
ale elementem składni języka. Instrukcja list jest używana do
przypisywania listy zmiennych w jednej operacji.
Nie da się odpakować ciągów znaków, a wyrażenia list
nie mogą być zupełnie puste.
Przed wersją PHP 7.1.0 list działała tylko z tablicami indeksowanymi numerycznie i zakładała
że indeksy numeryczne zaczynają się od 0.
Od PHP 7.1.0 list może zawierać też jawnie podane klucze, pozwalając na
destrukturyzację tablic z kluczami innymi niż liczbowe lub sekwencyjne. Aby dowiedzieć się więcej
o destrukturyzacji tablic, zobacz sekcję o destrukturyzacji tablic.
&reftitle.parameters;
var
Zmienna.
vars
Kolejne zmienne.
&reftitle.returnvalues;
Zwraca przypisaną tablicę.
&reftitle.changelog;
&Version;&Description;7.3.0
Dodano wsparcie dla przypisać przez referencję przy destrukcji tablic.
7.1.0
Od teraz możliwe jest określenie kluczy w list. Pozwala
to na destrukcję tablic z kluczami nienumerycznymi lub niesekwencyjnymi.
&reftitle.examples;
Przykłady użycia list
]]>
Przykładowe użycie list
query("SELECT id, name FROM employees");
while (list($id, $name) = $result->fetch(PDO::FETCH_NUM)) {
echo "id: $id, imię: $name\n";
}
?>
]]>
Użycie zagnieżdżonego list
]]>
&example.outputs;
Kolejność w której zdefiniowano indeksy tablicy przyjmowanej
przez list jest bez znaczenia.
list i kolejność definicji indeksu
'a', 'foo' => 'b', 0 => 'c');
$foo[1] = 'd';
list($x, $y, $z) = $foo;
var_dump($foo, $x, $y, $z);
]]>
Przykład ten wyświetli, co następuje (zwróć uwagę na kolejność elementów, porównując ją
do tej, w której były one zapisane w wywołaniu instrukcji list):
string(1) "a"
["foo"]=>
string(1) "b"
[0]=>
string(1) "c"
[1]=>
string(1) "d"
}
string(1) "c"
string(1) "d"
string(1) "a"
]]>
list z kluczami
Od PHP 7.1.0 list może teraz zawierać
podane jawnie klucze, które mogą być przekazane jako dowolne wyrażenie.
Można mieszać klucze numeryczne i tekstowe, ale nie można mieszać elementów
z kluczami i bez kluczy.
1, "name" => 'Tom'],
["id" => 2, "name" => 'Fred'],
];
foreach ($data as ["id" => $id, "name" => $name]) {
echo "id: $id, imię: $name\n";
}
echo PHP_EOL;
list(1 => $second, 3 => $fourth) = [1, 2, 3, 4];
echo "$second, $fourth\n";
]]>
&example.outputs;
&reftitle.seealso;
eacharrayextract