我正在尝试将一个函数应用于一系列动物。我想鼓励他们。
$arr = array('cat', 'dog');
function makemebold($item)
{
return "<b>$item</b>"; // or something more interesting...
}
让我们看看原始数组:
// dump original array
var_dump($arr); echo '<br>';
返回:
array(2) { [0]=> string(3) "cat" [1]=> string(3) "dog" }
现在,让我们应用array_map:
array_map($arr, 'makemebold');
var_dump($arr); echo '<br>';
什么都没做:
array(2) { [0]=> string(3) "cat" [1]=> string(3) "dog" }
现在,array_walk:
array_walk($arr, 'makemebold');
var_dump($arr); echo '<br>';
与上述相同 - 没有变化:
array(2) { [0]=> string(3) "cat" [1]=> string(3) "dog" }
我做错了什么?
答案 0 :(得分:1)
array_map
不修改输入数组,它返回一个新数组,其结果是在输入的每个元素上调用函数。
$bold_arr = array_map('makemebold', $arr);
var_dump($bold_arr); echo '<br>';