Login
Login-Name Passwort


 
Newsletter
Werbung

So, 18. Juni 2000, 00:00

PHP Workshop: Arrays

Indizierte Arrays

Das Erzeugen von Arrays ist genauso einfach wie das Erzeugen einer »normalen« Variablen. Ein Array/Arrayelement wird erzeugt, sobald ihm ein Wert zugewiesen wird.

Beispiel:

$list[0] = 5;
$list[1] = "String Nr. 1";
$list[2] = 8.456;
$list[3] = "noch ein String";

Man könnte es aber auch so schreiben:

$list[] = 5;
$list[] = "String Nr. 1";
$list[] = 8.456;
$list[] = "noch ein String";

Wie im Beispiel zu sehen ist, können in einem Array alle Arten von Datentypen (hier: Ganzzahlen, Strings und Gleitkommazahlen) in beliebiger Kombination enthalten sein. Darüber hinaus kann es auch Objekte (werden im nächsten Teil behandelt) und weitere Arrays (Stichwort mehrdimensionale Arrays) enthalten.

Um alle Elemente des Arrays nacheinander auszulesen und anzuzeigen, kann man z.B. so vorgehen:

for ($i = 0; $list[$i]; $i++)
{
 echo $list&#91;$i&#93;.&quot;<br>&quot;;
}

Wenn man die Anzahl der Felder eines Arrays in Erfahrung bringen möchte, kann man dafür die Funktion count aufrufen. Sie erwartet ein Array als Parameter und gibt die Anzahl seiner Elemente zurück.

Beispiel:

$anzahl = count($list);

Assoziative Arrays

Bisher haben wir uns nur mit indizierten Arrays, also Arrays, deren Elemente über eine Indexnummer angesprochen werden, beschäftigt. Daneben existieren in PHP aber auch noch die sogenannten assoziativen Arrays oder auch Hashws. Das Besondere an einem assoziativen Array ist, dass seine Elemente nicht über einen Index, sondern über einen Namen angesprochen werden.

Beispiel:

$programm&#91;name&#93; = &quot;Apache&quot;;
$programm&#91;version&#93; = &quot;1.3.12&quot;;
$programm&#91;kategorie&#93; = &quot;Netzwerk/HTTP&quot;;
$programm&#91;lizenz&#93; = &quot;Apache Software License&quot;;
$programm&#91;autor&#93; = &quot;Apache Software Foundation&quot;;

Das Array $programm enthält fünf Elemente, die jeweils über ihren Namen anstatt über einen Index angesprochen werden können. Assoziative Arrays eignen sich besonders, um, wie im Beispiel, einen Datensatz (z. B. aus einer SQL-Datenbank) in einem Array abzubilden.

Das selbe Array erhält man auch mit:

$programm = array(&quot;name&quot; => &quot;Apache&quot;,
 &quot;version&quot; => &quot;1.3.12&quot;,
 &quot;kategorie&quot; => &quot;Netzwerk/HTTP&quot;,
 &quot;lizenz&quot; => &quot;Apache Software License&quot;,
 &quot;autor&quot; => &quot;Apache Software Foundation&quot;);

Der Variablen $programm wird der Rückgabewert von array zugewiesen. Array ist aber keine reguläre Funktion, wie man vielleicht vermuten könnte, sondern ein spezielles Sprachkonstrukt von PHP.

Mehrdimensionale Arrays

Mehrdimensionale Arrays kann man erzeugen, indem man mit Hilfe des array-Befehls ein Array erzeugt und als Arrayelemente jeweils ein weiteres Array erzeugt.

Beispiel:

$zahlen = array( 0 => array(0 => 0, 1 => 1, 2 => 2, 3 => 3, 4 => 4),
 1 => array(0 => 0, 1 => 1, 2 => 2, 3 => 3, 4 => 4),
 2 => array(0 => 0, 1 => 1, 2 => 2, 3 => 3, 4 => 4),
 3 => array(0 => 0, 1 => 1, 2 => 2, 3 => 3, 4 => 4),
 4 => array(0 => 0, 1 => 1, 2 => 2, 3 => 3, 4 => 4));

Die Variable $zahlen enthält nun ein zweidimensionales Array, das 5*5 verschiedene Werte enthält. Mit $zahlen[2][2] kann man z.B. auf die 3. Variable in der 3. Zeile des Arrays zugreifen.

Hier nun noch die Vorgehensweise zum Erzeugen eines indizierten Arrays von Hashes:

$programme&#91;&#93; = array(&quot;name&quot; => &quot;Apache&quot;,
 &quot;version&quot; => &quot;1.3.12&quot;,
 &quot;kategorie&quot; => &quot;Netzwerk/HTTP&quot;,
 &quot;lizenz&quot; => &quot;Apache Software License&quot;,
 &quot;autor&quot; => &quot;Apache Software Foundation&quot;);
$programme&#91;&#93; = array(&quot;name&quot; => &quot;Vim&quot;,
 &quot;version&quot; => &quot;5.6.70&quot;,
 &quot;kategorie&quot; => &quot;Utils/Editoren&quot;,
 &quot;lizenz&quot; => &quot;freie Nutzung&quot;,
 &quot;autor&quot; => &quot;Bram Moolenaar&quot;);
...

Es wird ein Array $programme erzeugt, dass eine Liste mit Daten von Programmen enthält. Um z.B. den Namen des ersten Programms in der Liste auszugeben, könnte man folgende Codezeile verwenden:

echo $programme&#91;0&#93;&#91;name&#93;;

Als Ausgabe würde man in diesem Fall "Apache" angezeigt bekommen.

[<< Vorheriger Teil] [Nächster Teil >>]

Kommentare (Insgesamt: 0 || Kommentieren )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung