📅  最后修改于: 2023-12-03 14:45:10.413000             🧑  作者: Mango
在PHP中,array_map函数是对一个数组应用用户自定义函数的一种方法。它返回一个新数组,其中每个元素是应用给定函数的原始数组元素的结果。
array_map函数的用法如下:
array_map(callable $callback , array $array1 [, array $...] ) : array
其中,$callback是一个要应用于每个数组元素的函数,$array1是要处理的数组,$...是要处理的其他数组。返回值是一个包含处理结果的新数组。
在调用array_map函数时,我们可以传递附加参数给回调函数。假设我们要将一个数组中的所有元素都加上一个特定的数,可以这样写:
array_map(function($x) use ($addition) { return $x + $addition; }, $array);
在这个匿名函数中,我们使用了一个use语句,将变量$addition传递给了回调函数。这使得我们可以在回调函数内部访问$addition,并将其用于对每个数组元素的操作。
下面是一个示例,我们将一个字符串数组中的所有元素转换为小写,并删除任何空格:
$strings = [" Hello ", "WORLD", " How arE you? "];
$lowercased_no_whitespace = array_map(function($x) { return trim(strtolower($x)); }, $strings);
print_r($lowercased_no_whitespace);
输出为:
Array
(
[0] => hello
[1] => world
[2] => how are you?
)
在这个示例中,我们使用了一个匿名函数,它接收一个字符串并返回一个小写的、不包含空格的字符串。我们将其传递给array_map函数,以便对字符串数组中的每个元素应用该函数。
array_map函数是一个很方便的方法,可以对数组中的每个元素应用回调函数。通过使用匿名函数并传递参数,我们可以轻松地对原始数组进行处理,并获得所需的结果。