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]) {
// ...
}