在本文中,我们将介绍 array_map() 和 array_walk() 函数。我们将看到如何使用用户定义的函数修改数组中的所有元素。 此外,它将涵盖你可以使用上述功能的不同方式。 使用 PH
在本文中,我们将介绍 array_map()
和 array_walk()
函数。我们将看到如何使用用户定义的函数修改数组中的所有元素。
此外,它将涵盖你可以使用上述功能的不同方式。
array_map()
函数通过用户定义的函数修改数组中的元素
你可以使用 array_map()
函数将数组中的所有值发送到用户定义的函数。
在下面的示例代码中,我们将数组 $arr
中的值发送到函数 divide
并返回新值。
示例代码 1:
<?php
// Define the function divide
function divide($n) {
return($n/$n);
}
$a = array(2, 4, 6, 8, 10);
print_r(array_map("divide", $a));
?>
输出:
Array ( [0] => 1 [1] => 1 [2] => 1 [3] => 1 [4] => 1 )
在上面的代码中,我们的函数 divide
将数组 $a
中的所有值除以相应的值;因此输出 1
。
让我们尝试使用多个数组。
示例代码 2:
<?php
// Define the function minusAdd
function minusAdd($t, $r, $k) {
return($t - $r + $k);
}
$arr1 = array(28, 14, 76, 38, 10);
$arr2 = array(4, 6, 20, 12, 3);
$arr3 = array(12, 6, 7 ,8 ,9);
print_r(array_map("minusAdd", $arr1, $arr2, $arr3));
?>
输出:
Array ( [0] => 36 [1] => 14 [2] => 63 [3] => 34 [4] => 16 )
如下例所示,我们可以使用 array_map()
函数来更改数组中的元素。
示例代码 3:
<?php
function synonym($s) {
if ($s === "Male Horse") {
return "Stallion";
}
return $s;
}
$arr = array("Female Horse", "Male Horse", "Pony");
print_r(array_map("synonym", $arr));
?>
输出:
Array ( [0] => Female Horse [1] => Stallion [2] => Pony )
从上面的代码中,我们在 array_map
函数的帮助下将 Male Horse
更改为 Stallion
。
你还可以使用 array_map
函数创建一个数组。要使代码正常工作,你必须使用 null
参数来代替定义的函数。
示例代码 4:
<?php
// Create an array of an array
$a1 = array('Apple', 'Eggplant', 'Cucumber', 'ManGo');
$a2 = array('Fruit', 'Vegetable', 'Vegetable', 'Fruit');
$result = array_map( null, $a1, $a2);
print_r($result);
?>
输出:
Array ( [0] => Array ( [0] => Apple [1] => Fruit ) [1] => Array ( [0] => Eggplant [1] => Vegetable ) [2] => Array ( [0] => Cucumber [1] => Vegetable ) [3] => Array ( [0] => Mango [1] => Fruit ) )
array_walk()
使用包含键的函数运行数组
由于 array_map()
函数不处理键和参数,我们使用 array_walk()
,如下例所示。
示例代码 6:
<?php
function assign($color, $key) {
echo "The $key is $color <br>";
}
$arr = array("Apple" => "red", "Eggplant" => "purple");
array_walk($arr, "assign");
?>
输出:
The Apple is red
The Eggplant is purple
--结束END--
本文标题: PHP 中的 array_map 和 array_walk 函数
本文链接: https://lsjlt.com/news/568995.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0