为什么array_map在这里失败


Why is array_map failing here?

>我正在尝试将函数应用于动物数组。 我想鼓励他们。

$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" } 

我做错了什么?

array_map 不会修改输入数组,它会返回一个新数组,其中包含对输入的每个元素调用函数的结果。

$bold_arr = array_map('makemebold', $arr);
var_dump($bold_arr); echo '<br>';