Array-Funktionen

Geschätzte Lektüre: 9 Minuten 352 Ansichten

Array erstellen

array() oder [] (ab PHP 5.4):

// Ein einfaches Array
$fruits = ['Apfel', 'Banane', 'Orange'];

$indexed = array('Apfel', 'Banane', 'Orange');
// oder
$indexed = ['Apfel', 'Banane', 'Orange'];


$associative = array(
    'name' => 'Max',
    'alter' => 30,
    'stadt' => 'Berlin'
);

Auf Array-Elemente zugreifen

echo $indexed[0]; // Ausgabe: Apfel
echo $associative['name']; // Ausgabe: Max

Array-Funktionen für die Manipulation

count() – Anzahl der Elemente

echo count($fruits); // 3

array_push() – Element am Ende hinzufügen

array_push($fruits, 'Kiwi');
// Alternativ:
$fruits[] = 'Kiwi';

array_pop() – Letztes Element entfernen

$last = array_pop($fruits); // Entfernt und gibt 'Orange' zurück

array_shift() – Erstes Element entfernen

$first = array_shift($fruits); // Entfernt und gibt 'Apfel' zurück

array_unshift() – Element am Anfang hinzufügen

array_unshift($fruits, 'Mango');

array_merge() – Arrays zusammenführen

$vegetables = ['Karotte', 'Gurke'];
$combined = array_merge($fruits, $vegetables);

array_slice() – Teil eines Arrays extrahieren

$part = array_slice($fruits, 1, 2); // Gibt Elemente 1 und 2 zurück

array_splice() – Teile entfernen und ersetzen

array_splice($fruits, 1, 1, ['Ananas']); // Ersetzt Banane mit Ananas

Array-Funktionen für die Iteration

foreach-Schleife

foreach ($fruits as $fruit) {
    echo $fruit . "\n";
}

// Mit Schlüssel
foreach ($associative as $key => $value) {
    echo "$key: $value\n";
}

array_map() – Funktion auf alle Elemente anwenden

$uppercased = array_map('strtoupper', $fruits);

array_filter() – Array filtern

$numbers = [1, 2, 3, 4, 5];
$even = array_filter($numbers, function($n) {
    return $n % 2 == 0;
});

array_reduce() – Array auf einen Wert reduzieren

$sum = array_reduce($numbers, function($carry, $n) {
    return $carry + $n;
}, 0);

Array-Funktionen für die Sortierung

// sort() - Aufsteigend sortieren
sort($fruits);

// rsort() - Absteigend sortieren
rsort($fruits);

// asort() - Assoziatives Array nach Werten sortieren
asort($associative);

// ksort() - Assoziatives Array nach Schlüsseln sortieren
ksort($associative);

// usort() - Mit benutzerdefinierter Funktion sortieren
usort($fruits, function($a, $b) {
    return strlen($a) - strlen($b);
});

Weitere nützliche Array-Funktionen

// array_keys() - Gibt alle Schlüssel zurück
$keys = array_keys($associative);

// array_values() - Gibt alle Werte zurück
$values = array_values($associative);

// array_flip() - Tauscht Schlüssel und Werte
$flipped = array_flip($associative);

// array_unique() - Entfernt doppelte Werte
$unique = array_unique([1, 2, 2, 3]);

// array_rand() - Zufälligen Schlüssel auswählen
$randomKey = array_rand($fruits);

// shuffle() - Array zufällig mischen
shuffle($fruits);

// array_column() - Spalte aus mehrdimensionalem Array extrahieren
$users = [
    ['id' => 1, 'name' => 'Max'],
    ['id' => 2, 'name' => 'Anna']
];
$names = array_column($users, 'name');

// array_combine() - Erstellt Array aus zwei Arrays (Schlüssel und Werte)
$keys = ['a', 'b', 'c'];
$values = [1, 2, 3];
$combined = array_combine($keys, $values);

// array_diff() - Unterschiede zwischen Arrays
$diff = array_diff([1, 2, 3], [2, 3, 4]); // [1]

// array_intersect() - Schnittmenge von Arrays
$intersect = array_intersect([1, 2, 3], [2, 3, 4]); // [2, 3]

Praktische Anwendungsfälle

Daten aus Datenbank verarbeiten

// Angenommen, Sie haben Daten aus einer Datenbank
$users = [
    ['id' => 1, 'name' => 'Max', 'age' => 30],
    ['id' => 2, 'name' => 'Anna', 'age' => 25],
    ['id' => 3, 'name' => 'Tom', 'age' => 35]
];

// Nur Namen extrahieren
$names = array_column($users, 'name');

// Nach Alter sortieren
usort($users, function($a, $b) {
    return $a['age'] - $b['age'];
});

Daten aus Datenbank verarbeiten

// Angenommen, Sie haben Daten aus einer Datenbank
$users = [
    ['id' => 1, 'name' => 'Max', 'age' => 30],
    ['id' => 2, 'name' => 'Anna', 'age' => 25],
    ['id' => 3, 'name' => 'Tom', 'age' => 35]
];

// Nur Namen extrahieren
$names = array_column($users, 'name');

// Nach Alter sortieren
usort($users, function($a, $b) {
    return $a['age'] - $b['age'];
});

Formulardaten verarbeiten

// Mehrere Checkbox-Werte
$selectedOptions = $_POST['options'] ?? [];

// Prüfen ob mindestens eine Option ausgewählt wurde
if (!empty($selectedOptions)) {
    echo "Ausgewählte Optionen: " . implode(', ', $selectedOptions);
}

Einkaufsliste verwalten

$shoppingList = ['Milch', 'Eier', 'Brot'];

// Artikel hinzufügen
$shoppingList[] = 'Äpfel';
array_push($shoppingList, 'Orangen');

// Artikel entfernen
$removed = array_pop($shoppingList);

// Liste sortieren
sort($shoppingList);

// Liste anzeigen
echo "Einkaufsliste:\n";
foreach ($shoppingList as $item) {
    echo "- $item\n";
}

Statistik berechnen

$grades = [85, 92, 78, 88, 95];

// Durchschnitt berechnen
$average = array_sum($grades) / count($grades);

// Höchste Note
$max = max($grades);

// Niedrigste Note
$min = min($grades);

Tipps und Best Practices

  1. Performance: $array[] = $value ist schneller als array_push()
  2. Prüfen: Vor dem Zugriff immer prüfen ob Schlüssel existiert (isset() oder array_key_exists())
  3. Referenzen: Vorsicht bei Array-Referenzen (&), da sie unerwartete Seiteneffekte haben können
  4. Mehrdimensionale Arrays: Für komplexe Strukturen können Sie verschachtelte Arrays verwenden
  5. JSON: Arrays können einfach in JSON umgewandelt werden (json_encode(), json_decode())

Umfangreich

PHP bietet eine umfangreiche Sammlung von Array-Funktionen, die Ihnen helfen, Daten effizient zu speichern, zu verarbeiten und zu manipulieren. Durch das Verständnis dieser Funktionen können Sie komplexe Datenstrukturen effektiv handhaben und sauberen, wartbaren Code schreiben.

Beginnen Sie mit den grundlegenden Funktionen und arbeiten Sie sich zu den fortgeschritteneren Methoden vor, während Sie mehr Erfahrung sammeln. Arrays sind ein grundlegendes Konzept in PHP, und ihre Beherrschung wird Ihnen in fast jedem PHP-Projekt zugutekommen.

Dieses Dokument teilen

Array-Funktionen

Oder Link kopieren

INHALT

Abonnieren

×
Cancel