Я пытаюсь применить функцию к массиву животных. Я хочу подбодрить их.
$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($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>';
Других решений пока нет …