4.10.2 Übersicht Array-Funktionen

Wichtige Array-Funktionen

Funktion Erklärung
count() Bestimmt die Anzahl der Elemente in einem Array.
next() Rückt den Zeiger des Arrays auf das folgende Element.
prev() Rückt den Zeiger des Arrays auf das vorherige Element.
end() Setzt den Zeiger des Arrays auf das letzte Element.
current() Liefert das aktuelle Element eines Arrays.
key() Liefert den Schlüssel eines assoziativen Arrays.
list() Überträgt Elemente eines Arrays auf einzelne Variablen.
unset() Entfernt ein Element aus einem Array anhand seines Schlüssels.
implode() Verbindet die Elemente eines Arrays zu einem String mit einem Trennzeichen.

Weitere Array-Funktionen

Funktion Erklärung
array_keys() Auslesen der Keys eines assoziativen Arrays. Hier ein Beispiel
array_pop() Liefert und löscht das letzte Element eines indizierten oder assoziativen Arrays.
array_shift() Liefert und löscht das erste Element eines indizierten oder assoziativen Arrays.
array_unshift() Fügt ein oder mehr Elemente am Anfang eines Arrays ein.
array_slice() Extrahiert ein Teil-Array aus einem Array.
array_values() Gibt alle Werte eines Arrays zurück und indexiert sie neu ab 0.

Beispiel für count(), current(), next() und end()

<?php
$cmyk = ["Cyan", "Magenta", "Yellow", "Key"];
echo "Elementanzahl: ", count($cmyk);
echo "<br>aktuelles Element: ", current($cmyk);
echo "<br>nächstes Element: ", next($cmyk);
echo "<br>letztes Element: ", end($cmyk);

Ausgabe:
Elementanzahl: 4
aktuelles Element: Cyan
nächstes Element: Magenta
letztes Element: Key

Beispiel für implode() und array_slice()

<?php
// Daten aus einer "Tabelle"
// nur die Ziffern in der Mitte sollen "herausgeholt" werden
$data = [
    ['x', 'x', 1, 2, 3, 'x', 'x'],
    ['x', 'x', 4, 5, 6, 'x', 'x'],
    ['x', 'x', 7, 8, 9, 'x', 'x']
];
// Extraktion der Nutzdaten
foreach ($data as $row) {
    echo implode("; ", array_slice($row, 2, 3)) . "<br>";
}

Ausgabe:
1; 2; 3
4; 5; 6
7; 8; 9

Die Funktion array_slice(Array, Offset, Anzahl) arbeitet mit drei Parametern. Zuerst wird das Array angegeben, dann wird angegeben, wie viele Elemente übersprungen werden sollen (= Offset) und als drittes wird die Anzahl der Elemente angegeben, die ausgelesen werden sollen.

Beispiel für unset() bei einem indizierten Array

<?php
$zahlen = [10, 20, 30, 40, 50];

// Entferne das Element mit dem Index 2 (Wert: 30)
unset($zahlen[2]);

// Ausgabe des Arrays nach dem Löschen
foreach ($zahlen as $index => $wert) {
    echo "Index $index: $wert<br>";
}

Ausgabe:
Index 0: 10
Index 1: 20
Index 3: 40
Index 4: 50

Hinweis: unset() löscht nur das Element, indiziert aber das Array nicht neu. Das bedeutet, dass der Index 2 fehlt und die ursprüngliche Reihenfolge erhalten bleibt – es entsteht eine Lücke im Index.

Beispiel für unset() und array_values() bei einem indizierten Array

<?php
$zahlen = [10, 20, 30, 40, 50];

// Entferne das Element mit dem Index 2 (Wert: 30)
unset($zahlen[2]);

// Indizes neu ordnen
$zahlen = array_values($zahlen);

// Ausgabe des Arrays nach dem Löschen und Neuindizierung
foreach ($zahlen as $index => $wert) {
    echo "Index $index: $wert<br>";
}

Ausgabe:
Index 0: 10
Index 1: 20
Index 2: 40
Index 3: 50

Hinweis: Mit array_values() wird das Array neu indiziert, sodass keine Lücke mehr in den Indizes vorhanden ist.

Und so sieht dies in Python aus
1
2
3
4
5
6
7
8
zahlen = [10, 20, 30, 40, 50]

# Entferne das Element mit Index 2 (Wert: 30)
del zahlen[2]

# Ausgabe der Liste nach dem Löschen
for index, wert in enumerate(zahlen):
    print(f"Index {index}: {wert}")

Beispiel für unset() bei einem assoziativen Array

<?php
$person = [
    "name" => "Mira",
    "alter" => 31,
    "stadt" => "Hamburg",
    "beruf" => "Entwicklerin"
];

// Entferne die Elemente mit den Keys "alter" und "beruf"
unset($person["alter"], $person["beruf"]);

// Ausgabe des Arrays nach dem Löschen
foreach ($person as $key => $wert) {
    echo "$key: $wert<br>";
}

Ausgabe:
name: Mira
stadt: Hamburg

Hinweis: Mit unset() können mehrere Keys gleichzeitig entfernt werden, indem sie durch Kommas getrennt angegeben werden.

Und so sieht dies in Python aus
person = {
    "name": "Mira",
    "alter": 31,
    "stadt": "Hamburg",
    "beruf": "Entwicklerin"
}

# Entferne die Einträge mit den Keys "alter" und "beruf"
del person["alter"]
del person["beruf"]

# Ausgabe des Dictionaries nach dem Löschen
for key, wert in person.items():
    print(f"{key}: {wert}")