Zum Inhalt springen

PHP-Funktion array_map(): Ein umfassender Leitfaden

Die array_map-Funktion in PHP ist ein unverzichtbares Werkzeug zum Transformieren von Datenarrays. Sie ermöglicht es Entwicklern, eine Callback-Funktion auf jedes Element eines Arrays anzuwenden und anschließend ein neues Array mit den Ergebnissen zurückzugeben. Dies ist eine vielseitige und leistungsstarke Technik zur Datenverarbeitung in PHP, die für eine breite Palette von Anwendungen eingesetzt werden kann.

Wie funktioniert array_map?

Die grundlegende Syntax der array_map-Funktion lautet wie folgt:

PHP-Syntax der array_map-Funktion

php
array_map(callback, array1, array2, ...);

Hier ist das Argument callback die Funktion, die auf jedes Element der Arrays angewendet wird. Die anderen Argumente sind die zu verarbeitenden Arrays. Betrachten Sie zum Beispiel den folgenden Code:

PHP-Beispiel zur Verwendung der array_map-Funktion

php
<?php

$numbers = [1, 2, 3, 4, 5];

function square($n) {
    return $n * $n;
}

$squared = array_map('square', $numbers);

print_r($squared);

?>

Dieser Code definiert eine einfache Funktion square, die eine Zahl entgegennimmt und ihr Quadrat zurückgibt. Anschließend wird die array_map-Funktion verwendet, um diese Funktion auf jedes Element des $numbers-Arrays anzuwenden. Das Ergebnis ist ein neues Array $squared, das die Quadrate der ursprünglichen Zahlen enthält.

Hinweis zu Array-Längen: Wenn array_map mehrere Arrays übergeben werden, wird die Verarbeitung fortgesetzt, bis das längste Array erschöpft ist. Bei ungleichen Längen werden fehlende Elemente in kürzeren Arrays automatisch als null behandelt.

Hinweis zur modernen Syntax: Ab PHP 7.4 können Sie Pfeilfunktionen (Arrow Functions) für kompakte Callbacks verwenden. Beispiel: array_map(fn($n) => $n * $n, $numbers);

Praxisbeispiele für array_map

Die array_map-Funktion ist äußerst vielseitig und kann in vielen verschiedenen Kontexten eingesetzt werden. Hier sind einige Beispiele, um Ihnen ein Gefühl für ihre Leistungsfähigkeit zu vermitteln:

Transformieren von Zeichenkettenarrays

PHP: Transformieren von Zeichenkettenarrays mit der array_map-Funktion

php
<?php

$words = ['foo', 'bar', 'baz'];

function upper($str) {
    return strtoupper($str);
}

$upper_words = array_map('upper', $words);

print_r($upper_words);

?>

In diesem Beispiel wird die array_map-Funktion verwendet, um ein Array von Zeichenketten in Großbuchstaben umzuwandeln. Die Funktion upper nimmt eine Zeichenkette entgegen und gibt deren Großschreibungsvariante zurück. Wird diese Funktion auf jedes Element des $words-Arrays angewendet, entsteht ein neues Array mit den großgeschriebenen Versionen der ursprünglichen Wörter.

Kombinieren von Arrays mit array_map

PHP: Kombinieren von Arrays mit array_map

php
<?php

$a = [1, 2, 3];
$b = [10, 20, 30];

function sum($a, $b) {
    return $a + $b;
}

$c = array_map('sum', $a, $b);

print_r($c);

?>

In diesem Beispiel werden zwei Arrays, $a und $b, zu einem dritten Array $c kombiniert. Die Funktion sum übernimmt zwei Argumente und gibt deren Summe zurück. Die array_map-Funktion wird verwendet, um diese Funktion auf jedes entsprechende Elementpaar in $a und $b anzuwenden. Das Ergebnis ist ein neues Array $c, das die Summen der ursprünglichen Paare enthält.

Fazit

Die array_map-Funktion in PHP ist ein unglaublich leistungsstarkes Werkzeug zum Transformieren von Datenarrays. Egal, ob Sie Zeichenketten in Großbuchstaben umwandeln, Arrays kombinieren oder andere Berechnungen durchführen – array_map ist das perfekte Werkzeug für diese Aufgabe. Dank ihrer flexiblen Syntax und der Fähigkeit, gleichzeitig mit mehreren Arrays zu arbeiten, ist sie eine unverzichtbare Funktion für jeden PHP-Entwickler.

Practice

Was trifft auf die array_map()-Funktion in PHP zu?

Finden Sie das nützlich?

Dual-run-Vorschau — vergleichen Sie mit den Symfony-Routen live.