Sie sind auf Seite 1von 4

Arrays in PHP

1. Allgemeines:
In PHP sind Arrays keine Vielfachen eines Variablentyps sondern „geordnete“ Paare von Schlüsseln
und Werten. Man unterscheidet zw. „numerischen“ und „assoziativen“ Arrays. Bei ersterem wird
über ganzzahlige Schlüssel (=Indexangabe) auf das Array-Element zugegriffen. Im zweiten Fall besteht
die Indexangabe aus einem String.

Beispiel 1: numerisches Array


$betriebssystem[0]=“Windows“;
$betriebssystem[1]=“Linux“;
$betriebssystem[2]=“Solaris“;
$betriebssystem[3]=“Mac“;

Beispiel 2: assoziatives Array


$Adresse[‘Vorname‘] = “Donald“;
$Adresse[‘Nachname‘] = “Duck“;

Da Arrays in PHP keinen Datentyp zugeordnet sind, können verschiedene Arten von Daten in einem
Array gespeichert werden.

Beispiel:
$Adresse[‘PLZ‘] = 12345;
$Adresse[‘Ort‘] = “Entenhausen“;

2. Definition eines Arrays:


2.1 Leeres Array
Ein leeres Array definiert man mit dem Befehl „array()“.

Beispiel: $Zufallszahlen = $array();


WICHTIGER HINWEIS:
Bei „array()“ handelt es sich nicht um eine Funktion, sondern um ein Sprachkonstrukt (siehe
auch if, else, etc…) !!!

2.2 Array mit Initialisierung


Hierfür gibt es zwei prinzipielle Möglichkeiten:

- Verwendung des Befehls „array()“:


Beispiel 1: $Tageszeiten = array(“morgens“, “mittags“, “abends“);
Beispiel 2 : $Login = array(“Benutzername“  “Mustermann“, “Passwort“  “geheim“);

- Zuweisung über eckige Klammern(„[]“):


Beispiel 1: numerisches Array
$Tageszeiten[] = “morgens“;
$Tageszeiten[] = “mittags“;
$Tageszeiten[] = “abends“;

Hinweis:
Wird kein Index angegeben, so wird bei der Initialisierung der Index automatisch zugewiesen. Der
ersten Index hat dabei stets den Wert().

Beispiel2: assoziatives Array


$Login[‘Benutzername‘] = “Mustermann“;
$Login[‘Passwort‘] = “geheim“;

Hinweis:
In PHP ist ein Array kein zusammenhängender Speicherbereich. Daher können auch Lücken in der
Indexzählung sein.

Beispiel:
$foo[]=“wert“; //Index 0 wird verwendet
$foo[]=“wert“; //Index 1 wird verwendet
$foo[10]=“wert“; //Index 10 wird verwendet
$foo[]=“wert“; //Index 11 wird verwendet

3. Zugriff auf Array-Elemente:


3.1 Einzelnes Array-Element

Auf einzelne Array-Elemente wird stets über eine Indexangabe (Integer-Zahl oder String)
zugegriffen.

Beispiele:
Echo “Aktuelle Tageszeit: $Tageszeit[1]“;
$Login[‘Passwort‘] = “unbekannt“;

3.2 Leeres Array füllen

Hierzu verwendet man in der Regel eine Schleife (z.B. for-Schleife)


Beispiel:

$Zahlen = array();
for($i=0; $i <10; $i++)
{
$Zahlen[$i] = $i * $i;

//andere Schreibweise:
$Zahlen[] = $i * $i;
}

3.3 foreach-Schleife

Mit Hilfe der „foreach“ Schleife kann man alle Elemnte eines Arrays abrufen. Es gibt 2
Schreibweisen:

Foreach (array as $wert)


{
Anweisungen;
}

Beispiel:
$Tageszeiten = array(“morgens“, “mittags“, “abends“);
Foreach($Tageszeiten as $inhalt)
{
Echo “$inhalt<br>“;
}
Foreach(array as $key => $wert)
{
Anweisungen;
}

Beispiel:
$Login = $array(“Benutzername“ => “Mustermann“, “Passwort“ => “Geheim“);
Foreach($login as $key => $inhalt)
{
Echo “$key: $inhalt<br>“;
}

4. Kleine Auswahl hilfreicher Array-Funktionen:

4.1 count(Arrayname);
Ermittelt die Anzahl der enthaltenen Arrayelemente
Beispiel:

$Tageszeiten = array(“morgens“, “mittags“, “abends“);


Echo count($Tageszeiten); -> Ausgabe der Zahl 3

4.2 unset(Variable)
Löscht ein Array bzw. ein Array-Element.

Beispiele:
$Tageszeiten = array(“morgens“, “mittags“, “abends“);
unset($Tageszeiten[0]) -> Eintrag “morgens“ wird gelöscht -> Anzahl der Elemente = 2
unset($Tageszeiten); -> gesamtes Array wird gelöscht

Hinweis:
Soll ein Array „nur“ geleert werden, dann definiert man es als leeres Array
 $Tageszeiten = array();

4.3 array_search(gesuchter Wert, Arrayname, ‘strict‘):


Durchsucht das angegebene Array nach dem vorgegebenen Wert und gibt bei Erfolg den
zugehörigen Schlüssel (=Index) zurück. Über den Parameter „strict“ kann festgelegt werden, dass
auch der Typ identisch mit dem gesuchten Wert sein muss.

Beispiel:
$a = array(‘1.10‘, 12.4, 1,3);
$index = array_search(’12.4‘, $a); -> $index = 1
$index = array_search(’12.4‘, $a, true); -> liefert FALSE, da Typen nicht identisch!
$index = array_search(’1.3‘ $a, true); ->$index = 2

Hinweis:
Handelt es sich bei dem gesuchten Wert um einen String, so wird stets auf Groß- und
kleinschreibung geachtet, unabhängig davon, ob die Option auf „strict“ gesetzt wurde oder nicht.

5. Globale Arrays:
Hierbei handelt es sich um vordefinierte Arrays. Da ihr Inhalt überall gültig ist, werden sie auch
superglobale Arrays, kurz „superglobals“ genannt. Die wichtigsten Superglobals im Überblick.
- $_POST
Liefert alle Daten eines Formulares, dessen Inhalt mittels Post-Methode übertragen wurde.
- $_GET
Liefert alle Daten eines Formulares, dessen inhalt mittels Get-Methode übertragen wurde
- $GLOBALS
Dient zur Speicherung von globaler Variablen
- $_SERVER
Liefert Systeminformationen wie z.B. Name des Webservers oder des aktuellen PHP-Scripts
- $_SESSION
Die darin enthaltenen Variablen können an eine andere Seite weitergeleitet werden, ohne dass
der Inhalt sichtbar ist. Wird meistens dann verwendet, wenn personalisierte Daten (z.B.
Zugangsdaten zu geschützten Seiten übergeben werden müssen.