Was ist ein Array?

Ein Array ist aus Sicht der Informatik ein Datentyp, genauer gesagt ein Feld. Man kann sich ein Array auch bildlich vorstellen: Es ist nichts anderes als eine Schublade, die in beliebig viele Fächer unterteilt ist. Ein Array besitzt somit viele Arrayelemente. Zusammengehörige Daten wie z.B. Personendatensätze eignen sich hervorragend in einem Array zwischenzuspeichern, bevor sie ausgegeben oder in einer Datenbank gespeichert werden.

Arrays in PHP

Ein Array wird wie ein Wert einer Variablen zugewiesen. Dazu wird der folgende Code verwendet:

$meinarray = array("Max Mustermann", "Helga Mustermann");

Bei diesem Beispiel enthält das Array nun zwei Elemente. Was bei diesem Beispiel nicht ersichtlich ist sind die Schlüssel, über die die Werte der Arrayelemente angesprochen werden. Werden bei der Initialisierung keine speziellen Schlüssel mit angegeben, so wird automatisch jedem Element ein inkrementeller Key zugewiesen, beginnend mit der Zahl 0. „Max Mustermann“ hat also den Key „0“ während „Helga Mustermann“ den Key „1“ besitzt.
Eine Ausgabe eines bestimmten Arrayelements erfolgt über den Key. Die Schreibweise dazu ist folgende:

$meinarray = array("Max Mustermann", "Helga Mustermann");
echo $meinarray[0];
echo "<br>";
echo $meinarray]1];

Es können auch natürlich auch alle Arrayelemente ausgegeben werden. Dies funktioniert über eine For-Schleife. Bei dieser Methode muss aber zuvor die Anzahl der Arrayelemente ermittelt werden um das Schleifenende festzulegen. Die Funktion zum Zählen der Arrayelemente erfolgt über count($meinarray). Der folgende Code gibt das gesamte Array aus:

$meinarray = array("Max Mustermann","Helga Mustermann","Lisa Mustermann");
echo "For-Schleife:<br>";
for($i=0; $i < count($meinarray); $i++)
   {
   echo $meinarray[$i]."<br>";
   }

Aber auch ohne zu wissen wie viele Elemente ein Array besitzt, kann dieses auch ausgegeben werden. Die Funktion hierfür hat den Namen foreach. Es wird also für jedes Arrayelement etwas durchgeführt, das im nachfolgenden Code genauer beschrieben ist. Dabei Wird jedes Arrayelement in der Variablen $name zwischengespeichert.

<?php
$meinarray = array("Max Mustermann","Helga Mustermann","Lisa Mustermann");

echo "Foreach-Schleife: <br>";
foreach($meinarray AS $name)
   {
   echo $name."<br>";
   }
?>

Natürlich lassen sich auch individuelle Keys für die Arrayelemente festlegen. Bei einem Personendatensatz könnten die Keys Name, Vorname, Strasse, Hausnummer, Wohnort sehr hilfreich sein. Das Zuweisen der Werte zu den Keys geschieht so:

$person = array(
"Name" => "Mustermann",
"Vorname" => "Max",
"Strasse" => "Hauptstrasse",
"Hausnummer" => "10",
"Wohnort" => "Musterhausen");

Der Zugriff auf ein Arrayelement erfolgt nun nicht mehr über eine Zahl, sondern über den benutzerdefinierten Key:

echo $person["Wohnort"];

Möchte man ein Array um ein weiteres Arrayelememt ergänzen, so ist der folgende Code nötig:

// Bestehendes Array
$meinarray = array("Max Mustermann", "Helga Mustermann");

//Element hinzufügen
$meinarray[] = "Lisa Mustermann"

Das neue Element wird standardmäßig an das Ende des bestehenden Array angefügt. Wichtig bei der Zuweisung ist die eckige Klammer []. Gerade an dieser Stelle passieren nämlich die größten Fehler. Wird die Klammer weggelassen, erfolgt eine ganz normale Wertzuweisung, d.h. das gesamte Array wird mit einem neuen Feld überschrieben, das den Wert des eigentlich neuen Arrayelements besitzt.

 Mehrdimensionale Arrays

In einem Beispiel wurden personenbezogene Daten wie Name, Vorname und Wohnort in einem Array gespeichert. Wie aber werden in einem solchen Fall Datensätze von weiteren Personen behandelt? Die Lösung dafür sind mehrdimensionale Array. Es sind sozusagen Arrays in Arrays. Der folgende Code verdeutlicht ein mehrdimensionales Array:

$meinarray = array(
array("Mustermann", "Max", "Musterhausen"),
array("Mustermann", "Helga", "Musterhausen"),
array("Mustermann", "Lisa", "Musterhausen")
);

Die Variable $meinarray besteht aus drei Arrayelementen, die jeweils wieder drei Arrayelemente enthalten. Um den Namen „Helga“ auszugeben müssen nun zwei Arraykeys angegeben werden.

echo $meinarray[1][1];

Bei komplexen Programmierungen mit Arrays ist es manchmal sehr hilfreich sich die gesamten mehrdimensionalen Arrays auszugeben. Dies kann man über folgende Funktion tun:

<pre>
var_dump($meinarray);
</pre>

 Ausblick

Dies war nur ein kleiner Einblick auf die Funktionsweise von Arrays in PHP. Tatsächlich gibt es sehr viele weitere Möglichkeiten z.B. Suchen und Sortieren, die Arrays zu einem sehr mächtigen Datentyp machen.

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert