array_map () est une fonction très puissante en PHP qui applique une fonction de rappel à chaque élément d'un tableau et renvoie le résultat. Lorsque nous utilisons array_map () , nous passons généralement un tableau comme argument, puis appliquons la fonction de rappel à chaque élément du tableau. Cependant, Array_Map () prend également en charge la réception de plusieurs tableaux en tant que paramètres, afin que nous puissions fonctionner sur des éléments de plusieurs tableaux en même temps.
Cet article combinera un cas pratique pour montrer comment utiliser plusieurs tableaux dans array_map () et fournir des exemples de code.
La syntaxe de base de la fonction array_map () est la suivante:
array_map(callable $callback, array $array1, array $array2, ..., array $arrayN)
callable $ callback : la fonction de rappel agira sur chaque élément du tableau.
Array $ array1, array $ array2, ..., array $ arrayn : plusieurs tableaux sont utilisés comme entrée, array_map () passera les éléments de chaque tableau à la fonction de rappel pour le traitement.
Il convient de noter que le résultat renvoyé par la fonction array_map () est un tableau, et chaque élément en elle est le résultat de l'exécution de la fonction de rappel.
Supposons que nous ayons deux tableaux, l'une contenant des valeurs numériques et l'autre contenant des valeurs numériques, nous voulons ajouter les éléments correspondants de ces deux tableaux. Nous pouvons utiliser array_map () pour y parvenir.
<?php
// Définir deux tableaux
$array1 = [1, 2, 3, 4];
$array2 = [10, 20, 30, 40];
// utiliser array_map() Ajout au tableau
$result = array_map(function($a, $b) {
return $a + $b;
}, $array1, $array2);
// Résultat de sortie
print_r($result);
?>
Array
(
[0] => 11
[1] => 22
[2] => 33
[3] => 44
)
Dans cet exemple, Array_Map () reçoit deux tableaux $ array1 et $ array2 , puis ajoute chaque paire de leurs éléments correspondants via une fonction anonyme. Enfin, le tableau de résultat $ contient le résultat de l'ajout de chaque paire d'éléments.
Une autre exigence commune est que nous devons combiner des éléments de deux tableaux pour formater la sortie. Par exemple, un tableau stocke des chaînes et un autre stocke des nombres, que nous voulons combiner en une chaîne formatée.
Supposons que nous ayons les deux tableaux suivants:
<?php
$names = ["Apple", "Banana", "Cherry", "Date"];
$prices = [2.5, 3.0, 2.8, 3.5];
// utiliser array_map() Combiner des éléments de deux tableaux en chaînes formatées
$formatted = array_map(function($name, $price) {
return $name . " costs $" . number_format($price, 2);
}, $names, $prices);
// Résultats formatés de sortie
print_r($formatted);
?>
Array
(
[0] => Apple costs $2.50
[1] => Banana costs $3.00
[2] => Cherry costs $2.80
[3] => Date costs $3.50
)
Dans cet exemple, nous combinons le nom de chaque fruit et le prix correspondant dans une chaîne formatée, et utilisons numéro_format () pour garantir que le prix a deux décimales. array_map () rend cette opération très facile.
Si vous avez plus de tableaux et que vous souhaitez effectuer des opérations plus complexes sur eux, Array_Map () est toujours un choix idéal. Supposons que vous deviez calculer une nouvelle valeur en fonction des éléments de plusieurs tableaux, et vous pouvez utiliser de manière flexible plusieurs tableaux en entrée en fonction de vos besoins.
Par exemple, supposons que vous deviez calculer le prix réduit pour chaque article en fonction du nom, du prix et du taux de remise de l'article, vous pouvez le faire:
<?php
$products = ["Apple", "Banana", "Cherry", "Date"];
$prices = [2.5, 3.0, 2.8, 3.5];
$discounts = [0.1, 0.2, 0.15, 0.05];
// utiliser array_map() Calculez le prix réduit
$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);
// Prix après réduction de production
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
)
Cet exemple montre comment calculer à l'aide de trois tableaux ( $ produits , prix $ , remises $ ) simultanément et générer une production formatée.
La fonction array_map () est un outil puissant pour gérer plusieurs tableaux, vous permettant de fonctionner sur des éléments de plusieurs tableaux de manière très concise. Qu'il s'agisse de calculs mathématiques simples ou d'opérations de chaînes complexes, array_map () peut fournir un bon support. En passant plusieurs tableaux en tant que paramètres, vous pouvez gérer très facilement les éléments de ces tableaux dans la fonction de rappel.
Étiquettes associées:
array_map