Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Sprachelemente und Syntax  Teil von  Datentypen
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




Ein Array in PHP ist im eigentlichen Sinne eine geordnete Abbildung. Eine Abbildung ist ein Typ, der Werte auf Schlüssel abbildet. Dieser Typ ist auf mehrere Arten optimiert, sodass Sie ihn auf verschiedene Weise benutzen können:
  • als reales Array
  • als Liste (Vektor)
  • als Hash-Tabelle
  • als Verzeichnis
  • als Sammlung
  • als Stapel (Stack)
  • als Warteschlange (Queue)

und vieles mehr.

Da Sie ein weiteres PHP-Array als Wert benutzen können, ist es recht einfach, Baumstrukturen zu simulieren und Verschachtelungen vorzunehmen.


Angabe mit array()

Ein Array kann mithilfe des Sprachkonstrukts array() erzeugt werden. Es benötigt eine bestimmte Anzahl von Komma-getrennten Schlüssel/Wert-Paaren.

Ein Schlüssel ist entweder eine Zahl vom Typ integer oder ein String. Wenn ein Schlüssel die Standarddarstellung einer Integer-Zahl ist, wird es als solche interpretiert werden:
  • "8" wird als 8 interpretiert
  • "08" wird als 08 interpretiert


Wert

Der Wert eines Arrayeintrags kann ein beliebiger Datentyp sein.


Schlüssel

Falls Sie einen Schlüssel weglassen, wird das Maximum des Integer-Indizes genommen und der neue Schlüssel wird dieses Maximum + 1 sein. Das gilt auch für negative Indizes, da ein Integer negativ sein kann. Ist zum Beispiel der höchste Index -6, wird der neue Schlüssel den Wert -5 haben. Falls es bis dahin keine Integer-Indizes gibt, wird der Schlüssel zu 0 (Null). Falls Sie einen Schlüssel angeben, dem schon ein Wert zugeordnet wurde, wird dieser Wert überschrieben.

Wenn Sie true als Schlüssel benutzen, wird dies als Schlüssel vom Typ integer 1 ausgewertet. Benutzen Sie false als Schlüssel, wird dies als Schlüssel vom Typ integer 0 ausgewertet. Die Benutzung von NULL als Schlüssel führt dazu, dass der Schlüssel als leerer String gewertet wird. Verwenden Sie einen leeren String als Schlüssel, wird ein Schlüssel mit einem leeren String und seinem Wert erzeugt oder überschrieben. Das entspricht nicht der Verwendung von leeren Klammern.

Sie können keine Arrays oder Objekte als Schlüssel benutzen. Der Versuch wird mit einer Warnung enden: Illegal offset type.

// Schlüssel ist entweder ein string oder integer
// Wert kann irgendetwas sein.
array( [Schlüssel =>] Wert, ...)

Hier einige Beispiele:

<pre>
<?php
$arrays = array (
"Fruechte" => array ("a"=>"Kirsche", "b"=>"Birne"),
"Zahlen" => array (1, 2, 3, 4, 5, 6),
"Autos" => array ("Audi", 5 => "Mercedes", "BMW")
);
print_r($arrays);
?>
</pre>

Ausgabe
Array
(
[Fruechte] => Array
  (
    [a] => Kirsche
    [b] => Birne
  )

  [Zahlen] => Array
  (
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
  )

  [Autos] => Array
  (
    [0] => Audi
    [5] => Mercedes
    [6] => BMW
  )

)



Automatischer Index mit array()

<pre>
<?php
$meinarray = array( 10,
    20,
    30,
    40,
    50,
    60,
    70,
    4=>1,
    5=>1,
    6=>13
  );
print_r($meinarray);
?>
</pre>

Ausgabe
Array
(
  [0] => 10
  [1] => 20
  [2] => 30
  [3] => 40
  [4] => 1
  [5] => 1
  [6] => 13
)


Auf 1 basierter Index mit array()

<pre>
<?php
$monate = array(1 => 'Januar', 'Februar', 'März');
print_r($monate);
?>
</pre>

Ausgabe
Array
(
  [1] => Januar
  [2] => Februar
  [3] => März
)


Erzeugen/Verändern mit eckigen Klammern

Sie können ein bestehendes Arrays durch explizites Zuweisen von Werten verändern. Weisen Sie dem Array Werte zu, indem Sie den Schlüssel in eckigen Klammern angeben. Sie können den Schlüssel auch weglassen. In diesem Fall schreiben Sie einfach ein leeres Klammerpaar ("[]") hinter den Variablennamen.

// Schlüssel ist entweder ein String oder ein nicht-negativer Integer
// Wert kann irgendetwas sein.
$arr[Schlüssel] = Wert;
$arr[] = Wert;

Beispiel

<pre>
<?php
$monate = array(1 => 'Januar', 'Februar', 'März');
$monate[4] = "April";
$monate[] = "Mai";
print_r($monate);
?>
</pre>

Ausgabe
Array
(
  [1] => Januar
  [2] => Februar
  [3] => März
  [4] => April
  [5] => Mai
)



Falls das Array bis dahin nicht existiert, wird es erzeugt. Das ist also eine alternative Syntax, um ein Array zu erzeugen. Um einen bestimmten Wert zu ändern, weisen Sie diesem einfach einen neuen Wert zu.

Beispiel

<pre>
<?php
$personen[0] = "VW";
$personen[1] = "BMW";
$personen[2] = "OPEL";
print_r($personen);
?>
</pre>

Ausgabe
Array
(
  [0] => VW
  [1] => BMW
  [2] => OPEL
)

Sollten Sie ein Schlüssel/Wert-Paar entfernen wollen, benutzen Sie unset().

Beispiel
<pre>
<?php
$personen[0] = "VW";
$personen[1] = "BMW";
$personen[2] = "OPEL";

// Löschen
unset ($personen[1]);
print_r($personen);
?>
</pre>

Ausgabe
Array
(
  [0] => VW
  [2] => OPEL
)


Nützliche Funktionen

Es existiert eine Vielzahl von nützlichen Funktionen, um mit Arrays zu arbeiten. Einige davon werde ich im Abschnitt 3.10 »Arrays« gesondert behandeln.

Beispiel

<?php
// Array
$daten[0] = 100;
$daten[1] = 300;
$daten[2] = 500;
$anzahl = count($daten);
// Ausgabe (3)
echo $anzahl;
?>


Schreibweisen und ihre Besonderheiten

Warum ist $daten[eintrag] falsch? – Sie sollten immer Anführungszeichen für einen assoziativen Index eines Arrays benutzen. Zum Beispiel sollten Sie $daten['eintrag'] und nicht $daten[eintrag] benutzen. Aber warum ist $daten[eintrag] falsch? Sicher ist Ihnen folgende Syntax in einigen PHP-Skripts bereits begegnet:

<?php
$daten[eintrag] = "Matze";
// Ausgabe – Matze
echo $daten[eintrag];
?>

Es ist falsch, funktioniert aber. Warum ist diese Schreibweise falsch? Der Grund ist, dass dieser Code eine undefinierte Konstante eintrag enthält anstatt eines Strings 'eintrag', beachten Sie die Anführungszeichen. PHP könnte in Zukunft Konstanten definieren, die unglücklicherweise für Ihren Code den gleichen Namen verwenden. Es funktioniert, weil die undefinierte Konstante in einen String mit gleichem Namen umgewandelt wird. Sprich, PHP nimmt an, dass Sie eintrag wörtlich gemeint haben, wie den String 'eintrag', aber vergessen haben, die Anführungszeichen zu setzen. Daher ist die folgende Schreibweise zu bevorzugen:

<?php
$daten['eintrag'] = "Matze";
// Ausgabe – Matze
echo $daten['eintrag'];
?>

Hinweis: Noch mehr rund um das Thema Arrays erfahren Sie im Abschnitt 3.10 »Arrays«.



 




 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