0

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

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

我究竟做错了什么?

4

1 回答 1

1

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

$bold_arr = array_map('makemebold', $arr);
var_dump($bold_arr); echo '<br>';
于 2014-12-09T20:32:12.793 回答