list

(PHP 4, PHP 5, PHP 7, PHP 8)

listWeist Variablen zu, als wären sie ein Array

Beschreibung

list(mixed $var, mixed ...$vars = ?): array

Wie array() ist auch dies keine Funktion, sondern ein Sprachkonstrukt. list() wird verwendet, um eine Liste von Variablen in einer Operation zuzuweisen. Zeichenketten können nicht verarbeitet werden und der list()-Ausdruck darf nicht vollständig leer sein.

Hinweis:

Vor PHP 7.1.0 funktionierte list() nur bei numerischen Arrays und basierte auf der Annahme, dass die numerischen Indizes bei 0 beginnen.

Parameter-Liste

var

Eine Variable.

vars

Weitere Variablen.

Rückgabewerte

Gibt das zugewiesene Array zurück.

Changelog

Version Beschreibung
7.3.0 Die Unterstützung von Referenzzuweisungen bei der Arraydestrukturierung wurde hinzugefügt.
7.1.0 Es ist nun möglich, Schlüssel in list() anzugeben. Dies ermöglicht die Destrukturierung von Arrays mit nicht-numerischen oder nicht-fortlaufenden Schlüsseln.

Beispiele

Beispiel #1 list()-Beispiele

<?php

$info 
= array('Kaffee''braun''Koffein');

// Auflisten aller Variablen
list($drink$color$power) = $info;
echo 
"$drink ist $color und $power macht es zu etwas Besonderem.\n";

// Ein paar davon auflisten
list($drink, , $power) = $info;
echo 
"$drink hat $power.\n";

// Oder nur die dritte ausgeben
list( , , $power) = $info;
echo 
"Ich brauche $power!\n";

// list() funktioniert nicht mit Zeichenketten
list($bar) = "abcde";
var_dump($bar); // NULL
?>

Beispiel #2 Ein Beispiel für die Verwendung von list()

<?php
$result 
$pdo->query("SELECT id, name FROM employees");
while (list(
$id$name) = $result->fetch(PDO::FETCH_NUM)) {
    echo 
"id: $id, name: $name\n";
}
?>

Beispiel #3 Verschachtelte list()-Ausdrücke verwenden

<?php

list($a, list($b$c)) = array(1, array(23));

var_dump($a$b$c);

?>
int(1)
int(2)
int(3)

Beispiel #4 list() und die Reihenfolge der Index-Definitionen

Die Reihenfolge, in der die Indizes des von list() zu verarbeitenden Arrays definiert werden, ist irrelevant.

<?php
$foo 
= array(=> 'a''foo' => 'b'=> 'c');
$foo[1] = 'd';
list(
$x$y$z) = $foo;
var_dump($foo$x$y$z);

Erzeugt folgende Ausgabe (beachten Sie die Reihenfolge der Elemente verglichen mit der in list() eingetragenen Reihenfolge):

array(4) {
  [2]=>
  string(1) "a"
  ["foo"]=>
  string(1) "b"
  [0]=>
  string(1) "c"
  [1]=>
  string(1) "d"
}
string(1) "c"
string(1) "d"
string(1) "a"

Beispiel #5 list() mit Schlüsseln

Von PHP 7.1.0 an kann list() nun ebenfalls explizite Schlüssel enthalten, die als beliebige Ausdrücke angegeben werden können. Die Kombination von Integer- und Zeichenkettenschlüsseln ist erlaubt; allerdings dürfen Elemente mit und ohne Schlüssel nicht kombiniert werden.

<?php
$data 
= [
    [
"id" => 1"name" => 'Tom'],
    [
"id" => 2"name" => 'Fred'],
];
foreach (
$data as ["id" => $id"name" => $name]) {
    echo 
"id: $id, name: $name\n";
}
echo 
PHP_EOL;
list(
=> $zweites=> $viertes) = [1234];
echo 
"$zweites$viertes\n";

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

id: 1, name: Tom
id: 2, name: Fred

2, 4

Siehe auch

  • each() - Liefert das aktuelle Schlüssel-Wert-Paar eines Arrays und rückt den Arrayzeiger vor
  • array() - Erstellt ein Array
  • extract() - Importiert Variablen eines Arrays in die aktuelle Symboltabelle

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe
Es sind noch keine Kommentare vorhanden.

Neuigkeiten für PHP-Entwickler: Laravel 11 Veröffentlichung

Am 12. März 2024 wurde die lang erwartete Version 11 des Laravel-Frameworks veröffentlicht, die eine Reihe von spannenden Neuerungen und Verbesserungen für die PHP-Entwicklungsgemeinschaft mit sich bringt. ...

Mike94

Autor : Mike94
Kategorie: PHP Magazin

Technisches SEO bleibt relevant

Technisches SEO – Was ist das überhaupt? Technisches SEO bezieht sich auf die Optimierung der technischen Aspekte deiner Webseite. Das Ziel ist klar! ...

admin

Autor : admin
Kategorie: SEO & Online-Marketing

Was ist neu in der PHP 8.2.10

PHP 8.2.10 ist eine der neuesten Versionen von PHP, die eine Reihe von Verbesserungen und neuen Funktionen mit sich bringt. In diesem Artikel werden wir einige der herausragenden Neuerungen und Verbesserungen dieser Version diskutieren. ...

admin

Autor : admin
Kategorie: Software-Updates

Tutorial veröffentlichen

Tutorial veröffentlichen

Teile Dein Wissen mit anderen Entwicklern weltweit

Du bist Profi in deinem Bereich und möchtest dein Wissen teilen, dann melde dich jetzt an und teile es mit unserer PHP-Community

mehr erfahren

Tutorial veröffentlichen

Seltsames Verhalten von execute() oder Fehler meinerseits

Hallo liebe Community, ich habe ein kleines Problem und vielleicht kann mir ja jemand helfen, würde ich mich sehr drüber freuen. Unten steht e ...

Geschrieben von garibaldiwz am 22.03.2024 13:03:12
Forum: SQL / Datenbanken
Google reCAPTCHA in Kontaktformular einbinden

Überprüfen Sie den E-Mail-Versand: Stellen Sie sicher, dass die E-Mail-Funktion mail() ordnungsgemäß funktioniert und dass keine Fehler beim V ...

Geschrieben von Gast am 18.03.2024 04:54:16
Forum: PHP Developer Forum
`count.php`

Hallo cober93327, und Danke fuer deine Antwort! :-) Naja, so einen "Besucherzähler" auf der Webseite anzuzeigen ist schon eher etwas, das man a ...

Geschrieben von kekse1 am 17.03.2024 15:56:38
Forum: Projekthilfe
`count.php`

Es gibt dazu natuerlich auch eine recht ausfuehrliche Dokumentation in meinem GitHub-Repository Es würde meiner Ansicht nach enorm helfen, wenn D ...

Geschrieben von cober93327 am 14.03.2024 15:49:28
Forum: Projekthilfe