array_map () ist eine sehr leistungsstarke Funktion in PHP, die eine Rückruffunktion für jedes Element in einem Array anwendet und das Ergebnis zurückgibt. Bei Verwendung von array_map () übergeben wir normalerweise ein Array als Argument und wenden dann die Rückruffunktion auf jedes Element des Arrays an. Array_map () unterstützt jedoch auch das Empfangen mehrerer Arrays als Parameter, damit wir gleichzeitig Elemente mehrerer Arrays betreiben können.
Dieser Artikel kombiniert einen praktischen Fall, um anzuzeigen, wie mehrere Arrays in Array_Map () verwendet werden und Codebeispiele angeben.
Die grundlegende Syntax der Funktion array_map () lautet wie folgt:
array_map(callable $callback, array $array1, array $array2, ..., array $arrayN)
Callable $ Callback : Die Rückruffunktion wirkt auf jedes Element im Array.
Array $ Array1, Array $ Array2, ..., Array $ arrrayn : Mehrere Arrays werden als Eingabe verwendet. Array_map () übergibt die Elemente jedes Arrays zur Verarbeitung an die Rückruffunktion.
Es ist zu beachten, dass das von der Funktion array_map () zurückgegebene Ergebnis ein Array ist und jedes Element darin das Ergebnis der Ausführung der Rückruffunktion ist.
Angenommen, wir haben zwei Arrays, eine mit numerischen Werten und die andere, die numerische Werte enthält. Wir möchten die entsprechenden Elemente dieser beiden Arrays hinzufügen. Wir können array_map () verwenden, um dies zu erreichen.
<?php
// Definieren Sie zwei Arrays
$array1 = [1, 2, 3, 4];
$array2 = [10, 20, 30, 40];
// verwenden array_map() Ergänzung zum Array
$result = array_map(function($a, $b) {
return $a + $b;
}, $array1, $array2);
// Ausgangsergebnis
print_r($result);
?>
Array
(
[0] => 11
[1] => 22
[2] => 33
[3] => 44
)
In diesem Beispiel empfängt Array_Map () zwei Arrays $ Array1 und $ Array2 und fügt dann jedes Paar ihrer entsprechenden Elemente über eine anonyme Funktion hinzu. Schließlich enthält das $ -Rex -Array das Ergebnis des Hinzufügens jedes Elementpaares.
Eine weitere häufige Anforderung ist, dass wir Elemente von zwei Arrays kombinieren müssen, um die Ausgabe zu formatieren. Beispielsweise speichert ein Array Saiten und ein anderes Nummern, die wir zu einer formatierten Zeichenfolge kombinieren möchten.
Angenommen, wir haben die folgenden zwei Arrays:
<?php
$names = ["Apple", "Banana", "Cherry", "Date"];
$prices = [2.5, 3.0, 2.8, 3.5];
// verwenden array_map() Kombinieren Sie Elemente von zwei Arrays in formatierte Saiten
$formatted = array_map(function($name, $price) {
return $name . " costs $" . number_format($price, 2);
}, $names, $prices);
// Ausgangsformatierte Ergebnisse
print_r($formatted);
?>
Array
(
[0] => Apple costs $2.50
[1] => Banana costs $3.00
[2] => Cherry costs $2.80
[3] => Date costs $3.50
)
In diesem Beispiel kombinieren wir den Namen jeder Frucht und den entsprechenden Preis in eine formatierte Zeichenfolge und verwenden Number_Format () , um sicherzustellen, dass der Preis zwei Dezimalstellen hat. Array_map () macht diesen Vorgang sehr einfach.
Wenn Sie mehr Arrays haben und komplexere Operationen ausführen möchten, ist Array_Map () immer noch eine ideale Wahl. Angenommen, Sie müssen einen neuen Wert basierend auf den Elementen mehrerer Arrays berechnen, und Sie können mehrere Arrays flexibel als Eingabe entsprechend Ihren Anforderungen verwenden.
Angenommen, Sie müssen den ermäßigten Preis für jeden Artikel basierend auf dem Namen, Preis und Abzinsungssatz des Artikels berechnen, können Sie dies tun:
<?php
$products = ["Apple", "Banana", "Cherry", "Date"];
$prices = [2.5, 3.0, 2.8, 3.5];
$discounts = [0.1, 0.2, 0.15, 0.05];
// verwenden array_map() Berechnen Sie den ermäßigten Preis
$discounted_prices = array_map(function($product, $price, $discount) {
$discounted_price = $price * (1 - $discount);
return $product . " now costs $" . number_format($discounted_price, 2);
}, $products, $prices, $discounts);
// Preis nach Ausgangsrabatt
print_r($discounted_prices);
?>
Array
(
[0] => Apple now costs $2.25
[1] => Banana now costs $2.40
[2] => Cherry now costs $2.38
[3] => Date now costs $3.33
)
Dieses Beispiel zeigt, wie Sie mit drei Arrays ( $ products , $ preise , $ rabatte ) gleichzeitig berechnet werden und eine formatierte Ausgabe generieren.
Die Funktion array_map () ist ein leistungsstarkes Werkzeug zum Umgang mit mehreren Arrays, sodass Sie auf sehr präzise Weise auf Elementen mehrerer Arrays arbeiten können. Unabhängig davon, ob es sich um einfache mathematische Berechnungen oder komplexe String -Operationen handelt, kann Array_Map () eine gute Unterstützung leisten. Durch das Übergeben mehrerer Arrays als Parameter können Sie Elemente dieser Arrays in der Rückruffunktion sehr bequem verarbeiten.
Verwandte Tags:
array_map