Maison >développement back-end >tutoriel php >Utilisation et exemples de la fonction PHP array_map()

Utilisation et exemples de la fonction PHP array_map()

王林
王林original
2023-06-27 09:18:071714parcourir

Il existe de nombreuses fonctions intégrées en PHP, parmi lesquelles la fonction array_map() est l'une des fonctions très utiles. Cette fonction peut accepter un ou plusieurs tableaux en entrée et renvoyer un nouveau tableau. Chaque élément du nouveau tableau est le résultat du tableau d'entrée traité par la fonction de rappel. La fonction array_map() est principalement utilisée pour simplifier les opérations, comme opérer sur chaque élément d'un tableau et renvoyer un nouveau tableau. La syntaxe de la fonction

array_map() est la suivante :

array_map(callable $callback, array ...$arrays): array

où $callback est la fonction de rappel et $arrays est un ou plusieurs tableaux. La fonction parcourt tous les tableaux de $arrays, appelle tour à tour la fonction de rappel sur chaque élément du tableau et renvoie enfin un tableau contenant tous les nouveaux éléments.

La fonction de rappel est la fonction qui opère sur les éléments d'entrée. Le nombre de paramètres reçus par la fonction de rappel doit être le même que le nombre d'éléments du tableau d'entrée, et le premier paramètre est toujours un élément du tableau d'entrée. Une fonction de rappel peut avoir plusieurs tableaux d'entrée, mais chaque tableau d'entrée doit avoir le même nombre d'éléments.

Voici un exemple simple utilisant la fonction array_map() pour doubler les éléments d'un tableau :

function double($n) {
  return $n * 2;
}

$numbers = array(1, 2, 3, 4, 5);
$doubled = array_map('double', $numbers);

print_r($doubled);

Sortie :

Array
(
    [0] => 2
    [1] => 4
    [2] => 6
    [3] => 8
    [4] => 10
)

Dans cet exemple, nous définissons d'abord une fonction de rappel double() qui multipliera la valeur d'entrée Take 2 et renvoie le résultat. Ensuite, nous définissons un tableau $numbers, qui contient des entiers de 1 à 5. Ensuite, nous appelons array_map() avec la fonction double() comme fonction de rappel et le tableau $numbers comme entrée. Enfin, nous stockons la sortie dans le tableau $doubled et l'imprimons à l'écran.

Nous pouvons également utiliser plusieurs tableaux d'entrée dans la fonction de rappel. Par exemple, array_map() peut être utilisé pour additionner les éléments de deux tableaux :

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

$numbers1 = array(1, 2, 3, 4, 5);
$numbers2 = array(10, 20, 30, 40, 50);
$summed = array_map('sum', $numbers1, $numbers2);

print_r($summed);

Sortie :

Array
(
    [0] => 11
    [1] => 22
    [2] => 33
    [3] => 44
    [4] => 55
)

Dans cet exemple, nous définissons une nouvelle fonction de rappel sum() qui accepte deux paramètres d'entrée et les additionnons. Nous créons deux tableaux $numbers1 et $numbers2 et les transmettons à la fonction array_map() avec la fonction sum() comme rappel. La fonction renvoie un nouveau tableau $summed qui contient le résultat de l'ajout des éléments dans les tableaux $numbers1 et $numbers2.

array_map() possède également une fonctionnalité très largement utilisée : utiliser des fonctions anonymes comme fonctions de rappel. Les fonctions anonymes sont une nouvelle fonctionnalité introduite dans PHP 5.3 qui nous permet de créer dynamiquement des fonctions lorsque cela est nécessaire. Voici un exemple d'utilisation d'une fonction anonyme pour calculer la longueur de toutes les chaînes d'un tableau de chaînes :

$strings = array('hello', 'world', 'goodbye');
$lengths = array_map(function($str) { return strlen($str); }, $strings);

print_r($lengths);

Sortie :

Array
(
    [0] => 5
    [1] => 5
    [2] => 7
)

Dans cet exemple, nous définissons une fonction anonyme qui accepte une chaîne en entrée et renvoie la longueur de cette chaîne. Nous transmettons cette fonction anonyme comme fonction de rappel à la fonction array_map(), en utilisant le tableau $strings comme entrée. Enfin, un nouveau tableau $lengths est généré, qui contient les longueurs de toutes les chaînes du tableau $strings.

En bref, la fonction array_map() est un outil très utile qui peut rendre les opérations sur les tableaux plus claires et plus concises. Les fonctions de rappel sont également très personnalisables et peuvent facilement fonctionner sur différents types de données. J'espère que cet article pourra vous aider à mieux comprendre et utiliser la fonction array_map().

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn