Unterschiede zwischen den Array-Typen

Geschätzte Lektüre: 3 Minuten 363 Ansichten

Indexierte Arrays (Numerische Arrays)

Eigenschaften:
• Verwenden automatische numerische Indizes (beginnend bei 0)
• Die Reihenfolge der Elemente ist fest und geordnet
• Zugriff erfolgt über Zahlen (0, 1, 2,…)

Beispiel:

$farben = ["Rot", "Grün", "Blau"];
// Indizes: 0 => "Rot", 1 => "Grün", 2 => "Blau"

Typische Anwendungen:
• Einfache Listen
• Reihenfolge-sensitive Daten
• Wenn die Position der Elemente wichtig ist

Assoziative Arrays

Eigenschaften:
• Verwenden benannte Schlüssel (Strings) statt numerischer Indizes
• Elemente sind als Schlüssel-Wert-Paare organisiert
• Die Reihenfolge ist nicht garantiert (außer bei PHP 7+ wo sie erhalten bleibt)

Beispiel:

$person = [
    "name" => "Max",
    "alter" => 30,
    "beruf" => "Entwickler"
];

Typische Anwendungen:
• Objekt-ähnliche Strukturen
• Konfigurationen
• Wenn Lesbarkeit wichtiger ist als Reihenfolge
• Datenbank-Ergebnisse

Mehrdimensionale Arrays

Eigenschaften:
• Arrays die andere Arrays als Werte enthalten
• Können sowohl indexiert als auch assoziativ sein
• Ermöglichen komplexe Datenstrukturen

Beispiele:
Indexiert mehrdimensional:

$matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
];
// Zugriff: $matrix[1][2] → 6

Assoziativ mehrdimensional:

$personen = [
    [
        "name" => "Max",
        "hobbies" => ["Schwimmen", "Lesen"]
    ],
    [
        "name" => "Anna",
        "hobbies" => ["Reisen", "Fotografie"]
    ]
];
// Zugriff: $personen[1]["hobbies"][0] → "Reisen"

Typische Anwendungen:
• Tabellenartige Daten
• Komplexe Datenstrukturen
• Verschachtelte Informationen
• Baumstrukturen

Vergleichstabelle

MerkmalIndexierte ArraysAssoziative ArraysMehrdimensionale Arrays
SchlüsselZahlen (0,1,2,…)Strings (beliebig)Beides möglich
ReihenfolgeWird beibehaltenAb PHP 7 beibehaltenAbhängig vom Sub-Array
Zugriff$array[0]$array[„schlüssel“]$array[0][„schlüssel“]
VerwendungEinfache ListenBenannte EigenschaftenKomplexe Strukturen
Iterationfor/foreachforeachVerschachtelte Schleifen
Beispiel[„Apfel“,“Banane“][„name“=>“Max“][ [„name“=>“Max“], […] ]

Wichtige Hinweise:

01. In PHP sind alle Arrays eigentlich geordnete Maps, was bedeutet dass selbst indexierte Arrays technisch gesehen eine spezielle Form von assoziativen Arrays sind.
02. Sie können Arrays mischen:

$gemischt = [
    0 => "Wert1",
    "key" => "Wert2",
    "sub" => [1, 2, 3]
];

03. Die Wahl des Array-Typs hängt von Ihren Anforderungen ab:
• Brauchen Sie einfache Reihen? → Indexiert
• Brauchen Sie benannte Eigenschaften? → Assoziativ
04. Brauchen Sie komplexe Hierarchien? → Mehrdimensional
Viele PHP-Funktionen arbeiten mit allen Typen, aber manche sind für bestimmte Typen optimiert (z.B. array_values( ) für indexierte Arrays).

    Dieses Dokument teilen

    Unterschiede zwischen den Array-Typen

    Oder Link kopieren

    INHALT

    Abonnieren

    ×
    Cancel