Maison  >  Article  >  développement back-end  >  Explication détaillée de l'utilisation de la fonction array_map() dans la bibliothèque de fonctions PHP

Explication détaillée de l'utilisation de la fonction array_map() dans la bibliothèque de fonctions PHP

WBOY
WBOYoriginal
2023-06-27 10:03:104779parcourir

Dans le développement PHP, les tableaux sont l'un des types de données les plus couramment utilisés. Les fonctions d'opération pour les tableaux sont également assez riches. Parmi elles, la fonction array_map() est une fonction d'opération de tableau très pratique. Elle peut appliquer une fonction à chaque élément du tableau et renvoyer un nouveau tableau.

Cet article présentera principalement l'utilisation et les précautions de la fonction array_map(), et la démontrera avec des exemples.

1. Introduction à la fonction array_map()

array_map() La fonction de la fonction array_map() est d'appliquer le premier paramètre (une fonction PHP) à chaque élément du tableau entrant ci-dessus, le résultat de chaque élément traité par la fonction est renvoyé en tant qu'élément du nouveau tableau. Par exemple, vous pouvez utiliser la fonction array_map() pour multiplier les valeurs du tableau, modifier les valeurs du tableau dans une certaine mesure, ou convertir les résultats obtenus, etc.

array_map() La syntaxe de base de la fonction est la suivante :

array array_map ( callable $callback , array $array1 [, array $...] )

Parmi eux, le paramètre $callback indique qu'une méthode de rappel est à faire pour chaque élément, $array1 représente le tableau à traiter. Plusieurs tableaux peuvent être utilisés, de sorte que la méthode de rappel puisse transmettre plusieurs paramètres, correspondant au nombre de paramètres transmis à la fonction. Vous pouvez également définir la méthode de rappel sur null, afin que la fonction array_map() renvoie directement chaque élément du tableau passé dans un nouveau tableau. $callback 参数表示要对每个元素做一个回调方法,$array1 参数表示要进行处理的数组。可以使用多个数组,这样可以使回调方法传入多个参数,对应传入函数的参数数量。也可以将回调方法设为 null,这样 array_map() 函数会直接将每个传入数组的元素组成一个新的数组返回。

二、array_map() 函数示例演示

接下来,我们通过一些示例来演示 array_map() 函数的使用方法。

  1. 将一个数组中的所有元素翻倍
<?php
function double($value){
    return $value*2;
}
$a = array(1, 2, 3, 4, 5);
$b = array_map("double", $a);
print_r($b);
?>

输出结果:

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

在上面的代码中,我们定义了回调函数 double(),该函数的作用是将传入值翻倍。接着,我们创建了一个数组 $a,数组中包含了数字 1 到 5。然后,我们通过调用 array_map() 函数并传入数组 $a 和回调函数“double”获得了一个新的数组 $b,其中每个元素都是原数组中元素的两倍。

  1. 将两个数组的元素合并成一个数组
<?php
function combine($a, $b){
    return $a . $b;
}
$a = array("a", "b", "c", "d");
$b = array("1", "2", "3", "4");
$combine = array_map("combine", $a, $b);
print_r($combine);
?>

输出结果:

Array ( [0] => a1 [1] => b2 [2] => c3 [3] => d4 )

在本例中,我们定义了回调函数 combine(),该函数的作用是将两个传入值合并成为一个新的字符串。接着,我们创建了两个数组 $a$b,这两个数组以相同的键名存储了不同的值。然后,我们通过调用 array_map() 函数并传入两个数组 $a$b 以及回调函数“combine”创建了一个新的数组 $combine

  1. 去掉数组中的空元素
<?php
function removeEmpty($value){
    return trim($value);
}
$array= array("hello", " ", "world", "", "!");
$no_empty = array_filter(array_map("removeEmpty", $array));
var_dump($no_empty); 
?>

输出结果:

array(3) { [0]=> string(5) "hello" [2]=> string(5) "world" [4]=> string(1) "!" }

在上面的代码中,我们定义了回调函数 removeEmpty(),该函数的作用是去掉字符串的空格。接着,我们创建了一个包含一些空元素的数组 $array。使用 array_map("removeEmpty", $array) 函数,我们可以做一个回调函数removeEmpty(),将数组中的每个元素传入回调函数中处理。最后使用 array_filter() 函数可以将空元素过滤掉。得到了 $no_empty

2. Démonstration d'un exemple de fonction Array_map()

Ensuite, nous utilisons quelques exemples pour démontrer l'utilisation de la fonction array_map().

    Doublez tous les éléments d'un tableau
  1. rrreee
  2. Résultat de sortie :
  3. rrreee
  4. Dans le code ci-dessus, nous définissons la fonction de rappel double(), qui double la valeur entrante. Ensuite, nous créons un tableau $a qui contient les nombres 1 à 5. Ensuite, nous obtenons un nouveau tableau $b en appelant la fonction array_map() et en passant le tableau $a et la fonction de rappel "double", où chaque élément est double le nombre d'éléments dans le tableau d'origine.
    1. Fusionner les éléments de deux tableaux en un seul tableau
    2. rrreee
    3. Résultat de sortie :
    rrreee#🎜🎜 # Dans cet exemple, nous définissons la fonction de rappel combine(), qui combine deux valeurs entrantes dans une nouvelle chaîne. Ensuite, nous créons deux tableaux $a et $b, qui stockent différentes valeurs avec le même nom de clé. Nous créons ensuite un nouveau tableau $ en appelant la fonction array_map() et en passant les deux tableaux <code>$a et $b et la fonction de rappel "combine" combine .

      Supprimer les éléments vides du tableau

      rrreee#🎜🎜#Résultat de sortie : #🎜🎜#rrreee#🎜🎜#Dans ce qui précède Dans le code, nous définissons la fonction de rappel removeEmpty(), qui est utilisée pour supprimer les espaces de la chaîne. Ensuite, nous créons un tableau $array qui contient des éléments vides. En utilisant la fonction array_map("removeEmpty", $array), nous pouvons créer une fonction de rappel removeEmpty() et transmettre chaque élément du tableau dans la fonction de rappel pour traitement. Enfin, utilisez la fonction array_filter() pour filtrer les éléments vides. Le tableau $no_empty est obtenu, qui contient tous les éléments du tableau d'origine après avoir supprimé les éléments vides. #🎜🎜##🎜🎜#3. Notes sur la fonction array_map()#🎜🎜##🎜🎜#Pour utiliser correctement la fonction array_map(), vous devez garder les points suivants à l'esprit : #🎜🎜##🎜🎜 ##🎜 🎜#La valeur transmise à la fonction de rappel est l'élément CURRENT (actuel) dans chaque tableau, et la valeur change au cours de la boucle d'appel. Si un non-tableau est transmis à la fonction array_map(), la valeur sera transmise individuellement à la fonction de rappel. #🎜🎜##🎜🎜#Les utilisateurs peuvent personnaliser la fonction de rappel. Vous pouvez utiliser des fonctions intégrées PHP ou des fonctions personnalisées. #🎜🎜##🎜🎜#Si vous devez passer une fonction anonyme à la fonction array_map(), vous devez utiliser PHP 5.3 ou supérieur. La fonction #🎜🎜##🎜🎜#array_map() est sensible à la valeur d'index de départ du tableau. Par exemple, si deux tableaux sont transmis avec des noms de clé différents, le nom de clé le plus petit sera utilisé pour construire le tableau renvoyé. #🎜🎜##🎜🎜#Si les clés et les valeurs du tableau de paramètres seront utilisées dans la fonction de rappel, n'utilisez pas la fonction array_map(), mais devez utiliser une boucle foreach pour fonctionner. #🎜🎜##🎜🎜##🎜🎜#4. Résumé#🎜🎜##🎜🎜#Dans cet article, nous présentons en détail la définition, l'utilisation et les précautions de la fonction array_map(). La fonction array_map() est une fonction de traitement de tableau très pratique. Elle peut appliquer une fonction à chaque élément du tableau et renvoyer le résultat de chaque élément traité par la fonction dans un nouveau tableau. Grâce à une application raisonnable, la fonction array_map() peut grandement simplifier le processus d'opérations sur les tableaux PHP, permettant aux programmeurs de traiter les tableaux plus facilement et plus efficacement. #🎜🎜#

    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