44 Stimmen

PHP: Array in Einzelvariablen schreiben

Tutorial von Stefan Trost | Letztes Update am 27.01.2023 | Erstellt am 19.03.2014

Heute möchte ich euch einen einfachen Weg zeigen, wie ihr den Inhalt eines Arrays schnell und unkompliziert in einzelne Variablen speichern könnt.

Wir nutzen dazu die PHP-Funktion list():

$arr = array(1, 2, 3);
list($var1, $var2, $var3) = $arr;

Wie die Funktion list() benutzt werden kann, zeigt das Beispiel oben. Wir erstellen uns zunächst einen Array $arr mit den drei Elementen 1, 2 und 3. Anschließend benutzen wir list(), um die drei Elemente in die Variablen $var1, $var2 und $var3 zu schreiben. Die Reihenfolge der Variablen entspricht dabei der Reihenfolge der Elemente im Array.

Das Beispiel erzeugt dasselbe Ergebnis wie der folgende Code. Aber es ist um einiges kürzer:

$arr = array(1, 2, 3);
$var1 = $arr[0];
$var2 = $arr[1];
$var3 = $arr[2];

Insbesondere beim Verarbeiten von langen Arrays kann so der Code mit list() um einiges kürzer werden und einfacher und schneller geschrieben werden.

Datenbankabfragen mit list()

Ein praktisches Anwendungsbeispiel für list() ist zum Beispiel das Auslesen einer Datenbankabfrage.

while (list($col1, $col2) = mysqli_fetch_row($res)) {
  echo "$col1 $col2";
}

Wenn wir einige Zeilen mit mehreren Spalten aus einer MySQL Datenbank abgefragt haben, können wir einfach mit mysqli_fetch_row() durch die verschiedenen Zeilen unseres Ergebnisses gehen. Die Funktion mysqli_fetch_row() gibt uns jeweils einen Array der aktuellen Zeile zurück, den wir dann mit list() in einzelne Variablen trennen und so besser verarbeiten können.

Nur einzelne Werte aus dem Array in Variablen schreiben

Falls wir nicht alle Werte unseres Ausgangsarrays benötigen, sind wir übrigens nicht dazu gezwungen, Variablen zuzuweisen, die wir später nicht verwenden. In diesem Fall lassen sich die nicht benötigten Elemente oder Bereiche des Array in der Variablenliste der Parameter von list() einfach auslassen. Das könnte dann zum Beispiel so aussehen:

$arr = array(1, 2, 3);
list($var1, , $var3) = $arr;

In diesem Beispiel weisen wir nur das erste und dritte Array-Element unseren Variablen $var1 und $var3 zu. Um nur den dritten Wert in eine Variable zu schreiben, könnten wir auch "list(,,$var3)" verwenden, wobei für diesen Fall "$var3 = $arr[2]" nicht mehr zu schreiben wäre.

Werte aus verschachtelten Arrays in Variablen schreiben

List() funktioniert nicht nur für einfache eindimensionale Arrays. Auch mehrdimensionale verschachtelte "nested" Arrays können mit list() verarbeitet und in Variablen verwandelt werden. Schauen wir uns auch dazu ein Beispiel an:

$arr = array(1, array('a', 'b'), 3, array(1, 2, 3));
list($var1, list($var2a, $var2b), $var3, list($var4a, $var4b, $var4c)) = $arr;

Wir setzen $arr hier auf einen Array bestehend aus Einzelwerten und Arrays mit verschiedenen Elementtypen. Indem wir list() genauso verschachtelt anwenden wie der Array aufgebaut ist, kommen wir auch an diese "inneren" Werte ran.

AntwortenPositivNegativ

Über den Autor

AvatarSoftware von Stefan Trost finden Sie auf sttmedia.de. Benötigen Sie eine individuelle Software nach Ihren eigenen Wünschen? Schreiben Sie uns: sttmedia.de/kontakt
Profil anzeigen

 

Ähnliche Themen

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.