Start · Sprachen · PHP · Kapitel · Arrays & Kollektionen
// Kapitel · PHP

Arrays & Kollektionen

Arrays sind in PHP die Universalstruktur: Liste, Dictionary, Stack, Queue — alles in einem.

Array erstellen

// Indiziert (Liste)
$sprachen = ['PHP', 'Python', 'Go'];

// Assoziativ (Dictionary)
$user = [
    'name'  => 'Anna',
    'alter' => 28,
    'admin' => true,
];

// Verschachtelt
$db = [
    'host'    => 'localhost',
    'options' => ['charset' => 'utf8mb4', 'timeout' => 5],
];

Zugriff, Anfügen, Löschen

echo $sprachen[0];             // PHP
echo $user['name'];            // Anna

$sprachen[]         = 'Rust';  // ans Ende anhängen
$user['locale']     = 'de';    // Key hinzufügen
unset($user['admin']);         // Key entfernen

array_push($sprachen, 'Zig');  // funktional identisch zu $arr[] = ...

Wichtige Array-Funktionen

// Prüfen
in_array('PHP', $sprachen);    // bool
array_key_exists('name', $user);
count($sprachen);

// Transformieren
$upper = array_map(strtoupper(...), $sprachen);       // ['PHP','PYTHON','GO','RUST']
$long  = array_filter($sprachen, fn($s) => strlen($s) > 2);
$sum   = array_reduce([1,2,3,4], fn($acc,$n) => $acc + $n, 0);   // 10

// Sortieren (verändern das Array direkt)
sort($sprachen);              // aufsteigend, neue Keys
rsort($sprachen);             // absteigend
usort($users, fn($a,$b) => $a['alter'] <=> $b['alter']);

// Kombinieren
$alle = array_merge($a, $b);
$kombi = [...$a, ...$b];      // Spread-Operator (PHP 7.4+)

Destructuring

// Liste
[$erster, $zweiter] = $sprachen;

// Assoziativ (PHP 7.1+)
['name' => $name, 'alter' => $alter] = $user;

// In foreach
foreach ($users as ['name' => $name, 'email' => $email]) {
    // ...
}