📜  php array_map 传递参数 - PHP (1)

📅  最后修改于: 2023-12-03 14:45:10.413000             🧑  作者: Mango

PHP中的array_map函数及其参数传递

在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函数是一个很方便的方法,可以对数组中的每个元素应用回调函数。通过使用匿名函数并传递参数,我们可以轻松地对原始数组进行处理,并获得所需的结果。