Arrays

Arrays - Felder in PHP

Arrays oder auch Felder werden benutzt um Daten der selben Art zu speichern und auf Komponenten eines Feldes wahlfrei über einen Index zugreifen zu können. In PHP gibt es viele mächtige Array Funktionen. Über einen Index kann man auf eine Komponente in einem Array zugreifen. Man kann die größe dynamisch zur Laufzeit festlegen und ändern. Es gibt zahlreiche Funktionen die es erlauben einen Array auch als Schlange oder Stapel zu verwenden.

 

Ein Array kann mehrere Dimensionen haben. Aus der Praxis kann ich sagen das ich bis jetzt aber selten mehr als 2 Dimensionen gebraucht habe. Diese 2 Dimensionen kann man sich auch noch relativ einfach klar machen.

 

Eindimensionales Array:

<?php
    //automarke ist ein array
    $automarke = array();

    //Zuweisung der Komponenten
    $automarke[0] = "VW";
    $automarke[1] = "Opel";
    $automarke[2] = "BMW";
    $automarke[3] = "Mercedes";

    echo $automarke[2];
?>

Ein eindimensionaler Array ist also vergleichbar mit einer Liste. Der Index bestimmt die Position und ermöglich einen direkten Zugriff auf eine Komponente des Arrays.

 

Zweidimensionale Arrays:

Ein zweidimensionaler Array ist vergleichbar mit einer Tabelle. Angenommen wir möchten mehere Kunden in einem Array speichern hätte wir etwas in der folgenden Art:

<?php
   //wir legen einen Array an
   $kunden = Array();

   //unser erster Kunde
   $kunden[0][0] = "Heinz";
   $kunden[0][1] = "Mustermann";
   $kunden[0][2] = 23232;

   //unser zweiter Kunde
   $kunden[1][0] = "Karl";
   $kunden[1][1] = "Meyer";
   $kunden[1][2] = 32321;

   echo $kunden[1][0];
   echo $kunden[1][1];
   echo $kunden[1][2];
?>

Wir haben also einen zweidimensionalen Array angelegt. Er ist vergleichbar mit einer Tabelle. Der erste Index würde in unserem Beispiel eine Zeile repräsentieren. Der zweite Index quasi eine Spalte mit den Spalten Vorname, Nachname, Postleitzahl.



Anmerkung: Für dieses Beispiel würde man als fortgeschrittener Programmierer eher ein Kunden Objekt benutzen. Dies soll hier nur als einfaches Beispiel dienen.

Assoziative Arrays - Felder mit String Index

Hast du dir oben vielleicht gedacht, das ist ganz schön umständlich? Wie soll man da wissen welcher Index was war?

 

Richtig, aus diesem Grund gibt es assoziative Arrays. Mit ihnen kann man einem Index einen Text zu Identifizierung geben. Das hat den Vorteil das wir uns nicht mehr ganz so viel merken müssen.

 

Es hat aber auch einen Nachteil. Wenn wir automatisiert durch einen Zähler über einen Array geben möchten ist das schwerer. Intern haben die Komponenten aber trotzdem immernoch einen nummerischen Index den man auch benutzen kann. Wir haben also quasi keinen Nachteil.

 

Das können wir auf unser Beispiel oben folgendermaßen anwenden:

<?php
   //wir legen einen Array an
   $kunden = Array();

   //unser erster Kunde
   $kunden[0]['vorname'] = "Heinz";
   $kunden[0]['nachname'] = "Mustermann";
   $kunden[0]['plz'] = 23232;

   //unser zweiter Kunde
   $kunden[1]['vorname'] = "Karl";
   $kunden[1]['nachname'] = "Meyer";
   $kunden[1]['plz'] = 32321;
 
   echo $kunden[1]['vorname'];
   echo $kunden[1]['nachname'];
   echo $kunden[1]['plz'];
?> 

Machnmal ist es sinnvoll sich die Struktur eines Arrays anzuschauen. Dazu kannst du folgenden PHP Code nutzen:

<?php
   print("<pre>");
   print_r($array);
   print("<pre>");
?>

Navigation