Was ist ein Array?Sie befinden sich: Home > Php > Was ist ein Array?
Ein Array ist ein Datentyp, wo man beliebig
viele Werte abspeichern kann. Während
in einer Variable immer ausschließlich
ein einzelnes Datentyp enthält,
kann in einer Arrayvariabel eine große
Anzahl verschiedene Werte enthalten.
Das Verhältnis zwischen einer variabel
und ein Array kann man vergleichen mit
zum Beispiel: das Fahrrad und ein Auto
oder ein Flugzeug.
Die Variabel ist ähnlich wie ein Fahrrad, das
Fahrrad kann nur eine einzelne Person befördern.
Natürlich kann das Fahrrad auch von unterschiedlichen
Personen genutzt werden. So ist es auch bei der Variabel,
es kann bei einen Script mehrere unterschiedliche
Werte im Ablauf des Scriptes einen Wert der Variabel
zugeordnet werden. Es besteht aber immer wieder nur
die Möglichkeit, dass ausschließlich ein
Wert in der Variabel gespeichert werden kann.
Wenn man nun den Vergleich zu einem Array zieht,
müsste man das Array als Bus oder Flugzeug ansehen.
Ein Bus oder Flugzeug kann mehrere Personen transportieren.
Ein Array kann mehrere Werte über die Laufzeit
eines Scriptes transportieren. Um ein Array zu verwenden
muss man einen so genannten Schlüssel definieren,
der einen gewissen Wert in den einzelnen Array speichert.
Wenn kein Schlüssel definiert wurde in den Array,
so wird automatisch von Null, um eins hoch gezählt.
Wenn man einen einzelnen Wert ausgeben möchte,
ist es erforderlich dass der Schlüssel, des
Array angegeben wird. Es besteht zusätzlich
die Möglichkeit ein Array in mehrere Ebenen
zu Verschachteln.
Die Indizierung der einzelnen Felder kann entweder fortlaufend von 0 - n geschehen, oder assoziativ. Eine allgemeine Fehlerquelle, auf die auch erfahrene Programmierer immer wieder hereinfallen, ist der Umstand das ein Array mit 10 Feldern mit dem Index 0 beginnt, und mit 9 endet.
Genereller Ausgedrückt ein Array mit n Feldern hat als maximalen Feldindex n-1.
Diese Fehlerquelle kann man umgehen in dem man assoziative Indizes vergibt, das bedeutet, dass der Index selber ein Name oder ein Charakterstring sein kann.
Dabei ist zu beachten das selbst bei Verwendung dieser Zuordnung, intern mit Feldnummern gearbeitet wird. Dies liegt im Speichermodell begründet. Um den Inhalt eines Feldes bearbeiten oder abfragen zu können wird ein Zeiger angelegt der auf das ensprechende Feld des Arrays zeigt.
Ein solcher Pointer kann als Hilfsmittel angesehen werden um mit Arrays arbeiten zu können.
Da alle Elemente eines Arrays im Speicher hintereinander liegen muss der Zeiger immer nur einen Speicherblock verschoben werden um auf das nächste Element zugreifen zu können, dabei wird immer vom ersten Element aus inkrementiert.
Außerdem lassen sich Arrays einfacher mit Schleifen verarbeiten.
Folgendes Beispiel zeigt diese Vorteile :
1 <?php
2 $wert_eins=0;
3 $wert_zwei=1;
4 $wert_drei=2;
5 $wert_vier=3;
6 // um den Inhalt der vier Varibalen
7 // wiederzugeben muss nun jede erneut angespochen werden
8
9 echo $wert_eins;
10 echo $wert_zwei;
11 echo $wert_drei;
12 echo $wert_vier;
13
14 // ein Array vereinfacht das
15 // oben angeführte Beispiel erheblich
16
17 $wert=array(0,1,2,3);
18
19 foreach($wert as $ausgabe){
20 echo $ausgabe;
21 }
22 // alternative Zuweisung und Ausgabe der Felder
23 $wert_neu=array();
24 $wert_neu[0]=0;
25 $wert_neu[1]=1;
26 $wert_neu[2]=2;
27 $wert_neu[3]=3;
28 for($runner=0;runner<=3;runner++){
29 echo $wert_neu[$runner];
30 }
31 ?>
|
Im vorhergehenden Beispiel, hatte ich mit einer foreach() sowie for() Schleife ein Array ausgegeben.
Wenn man eine Variable prüfen möchte,
ob in dieser ein Array enthalten ist, können
sie den PHP Befehl is_array() verwenden.
Mit den PHP Befehl list() kann man ein Array mehreren Variablen zuordnen, um die Weiterverarbeitung so einfach wie möglich zu gestalten.
weiter Arrays sortieren
|