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.
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, < Le paramètre code>$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() 函数的使用方法。
<?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
,其中每个元素都是原数组中元素的两倍。
<?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
。
<?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
$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. $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 . $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!