Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Sprachelemente und Syntax  Teil von  Arrays
Letztes Update: 04.09.2007 20:49:50

Navigation

Seite Startseite
Seite Aktuelles
Seite Seite News*
Seite Seite Pressemitteilungen*
Seite SELFPHP
Seite Seite Über SELFPHP
Seite Seite Werbung
Seite Seite Kontakt
Seite Seite Unsere Banner
Seite Seite Impressum
Seite Qozido
Seite Seite Diving Edition
Seite Seite Snorkeling Edition
Seite SELFPHP Dokumentation
Seite Seite PHP-Skripte
Seite Seite PHP Befehlsreferenz
Seite Seite PHP 5 Praxisbuch
Seite Seite PHP Code Snippets
Seite Seite SELFPHP in Buchform
Seite Anbieterverzeichnis
Seite Seite Globale Branchen
Seite Seite Webhosting/Server
Seite Services
Seite Seite Forum*
Seite Seite RSS-Feeds*
Seite Seite Downloads*
Seite Seite Gratis-Video-Lektionen*
Seite Seite SELFPHP auf Heft-CD*
Seite Seite Newsletter*
Seite Internet Security
 sponsored by  
Seite Stellenangebote*
Sedo - Bei uns wird PHP großgeschrieben
Seite Premium-Partner   
Webhosting/Serverlösungen
Seite Produktempfehlung   
Seite Seite SteadyBackup

 
* Link führt ins Internet


Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!  
 


SELFPHP Forum
Fragen rund um die Themen PHP? In über 100.000 Beiträgen finden Sie sicher die passende Antwort!*  


Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname: 
Name:
E-Mail:
 




 

Arrays erzeugen




Arrays kann man auf unterschiedlichste Weise erzeugen. Ich stelle Ihnen die Möglichkeiten zur Erzeugung eines Arrays im folgenden Abschnitt vor.


Indizierte Arrays

Um beispielsweise die Namen von bestimmten Personen zu speichern, können Sie indizierte Arrays verwenden. Hierzu benötigen Sie folgende Schreibweise:

$personen[] = "Matthias";
$personen[] = "Caroline";
$personen[] = "Gülten";
$personen[] = "Toni";

Daraus entsteht ein indiziertes Array. Der Index entsteht, indem jeder neue Wert an das Ende angehängt wird. Indizierte Arrays beginnen von 0 mit der Indizierung. Sie können natürlich auch gleich die Indexwerte einsetzen. Das folgende Beispiel entspricht dem vorhergehenden:

$personen[0] = "Matthias";
$personen[1] = "Caroline";
$personen[2] = "Gülten";
$personen[3] = "Toni";

Was die Indizierung betrifft, kann man sich Folgendes merken:
  • Die Indizierung beginnt bei 0.
  • Die letzte Indexnummer eines Arrays entspricht der Anzahl der Einträge bzw. Elemente (n), weniger 1 (n-1).

Sie müssen bei Zuweisungen nicht gezwungenermaßen Indizes angeben. Sie können beispielsweise ein leeres Array erzeugen, um sicherzugehen, dass der PHP-Interpreter dies erkennt, und anschließend das Array mit Werten füllen.

$daten = array();
$daten[] = "Erster Eintrag";
$daten[] = "Zweiter Eintrag";


array()

Als Alternative können Sie mit array() arbeiten.

$personen = array("Matthias","Caroline","Gülten","Toni");

Tipp: array() kann zusätzlich verschachtelt werden, um Arrays von Arrays von Arrays usw. zu erzeugen. Hiermit lassen sich komplexe Datenstrukturen abbilden.

Zur Ausgabe der im Array enthaltenen Einträge gehen Sie wie folgt vor:
echo "$personen[0]<br>";
echo "$personen[1]<br>";
echo "$personen[2]<br>";
echo "$personen[3]<br>";


Assoziative Arrays

Von assoziativen Arrays oder Hashes spricht man, wenn die Elemente im Array nicht über Indizes, sondern über Strings bzw. Schlüssel angesprochen werden. Das bereits gezeigte Beispiel könnte als assoziatives Array wie folgt aussehen:

$personen["P1"] = "Matthias";
$personen["P2"] = "Caroline";
$personen["P3"] = "Gülten";
$personen["P4"] = "Toni";

Zur Ausgabe der im Array enthaltenen Einträge gehen Sie wie folgt vor:

echo $personen["P1"] ."<br>";
echo $personen["P2"] ."<br>";
echo $personen["P3"] ."<br>";
echo $personen["P4"] ."<br>";

Ein assoziatives Array lässt sich natürlich auch mithilfe von array() erzeugen. Hierfür benötigen Sie zur Angabe des Schlüssels den Operator =>.


$personen = array(
    "P1" => "Matthias",
    "P2" => "Caroline",
    "P3" => "Gülten",
    "P4" => "Toni"
    );

Ausgabe
echo $personen["P1"] ."<br>";
echo $personen["P2"] ."<br>";
echo $personen["P3"] ."<br>";
echo $personen["P4"] ."<br>";

Dies bringt zwar keinen Performancegewinn, der Quelltext wird jedoch bei konsequenter Anwendung leichter lesbar. Echte Vorteile ergeben sich bei der Nutzung von Daten, deren Umfang und Struktur Sie nicht genau abschätzen können oder nicht kennen. Wenn Sie indizierte Arrays mit Zählschleifen abfragen, kommen nur numerische Indizes in Betracht. Der direkte Zugriff auf ein bestimmtes Element, dessen Index Sie nicht kennen, bleibt Ihnen verwehrt.


Ein Array erzeugen, das nicht mit dem Index 0 beginnt

Sie wollen einem Array mehrere Elemente auf einmal zuweisen, hierbei soll jedoch der erste Index nicht 0 sein. Bringen Sie array() dazu, einen anderen Index zu verwenden, indem Sie die Syntax mit dem Operator => verwenden.

Beispiel

$personen = array( 1 => "Matthias", "Caroline", "Gülten");

Ausgabe
echo $personen[1];

Übrigens ist diese Anpassung des Index nicht nur auf die Zahl 1 beschränkt. Sie funktioniert mit jedem Integer-Wert.

Beispiel

$personen = array( 10 => "Matthias", "Caroline", "Gülten");

Ausgabe
echo $personen[10];
echo $personen[11];
echo $personen[12];

Sie können den Operator auch mehrmals innerhalb eines Aufrufs einsetzen.

Beispiel

$personen = array( 10 => "Matthias", "Caroline", 17 => "Gülten");

Ausgabe
echo $personen[10];
echo $personen[11];
echo $personen[17];

In PHP ist es sogar möglich, negative Zahlen im array()-Aufruf zu verwenden.

Beispiel

$personen = array( -10 => "Matthias", "Caroline", 17 => "Gülten");

Ausgabe
echo $personen[-10];
echo $personen[0];
echo $personen[17];

Dies funktioniert sogar bei Zahlen, die keine Integer-Werte sind. Technisch gesehen, ist das, was Sie dann erhalten, ein assoziatives Array.

Hinweis: Sie haben jederzeit die Möglichkeit, numerische und String-Schlüssel in einer array()-Definition zu vermischen, von dem Gebrauch dieser Möglichkeit ist jedoch Abstand zu nehmen, da dies zu Verwirrung und Fehlern führen kann.



 




 sponsored by

Sedo - Bei uns wird PHP großgeschrieben


VERIO - An NTT Communications Company


HighText iBusiness


Webspace-Verkauf.de


video2brain




 Premium-Partner
 Webhosting/Serverlösungen

BPI-Systeme


Premium-Partner Pixel X


Premium-Partner First Colo


Premium-Partner dogado Internet




Qozido


© 2001-2008 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt