php. Применить функцию к каждому элементу массива

Данный материал предоставлен сайтом PacificSky.Ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Если вам понадобилось применить функцию к каждому элементу массива, а использовать циклы вы не хотите, то вы можете воспользоваться функцией array_walk().


Допустим у вас есть массив с числами, где числа могут быть с типом int или представлять из себя строки с цифрами и при этом могут содержать пробелы.
Но вам нужно вывести только строки и избавиться от пробелов.

Исходный массив с числами:
$array = [
    0,
    2,
    4,
    '6',
    6,
    8,
    ' 8',
    '8',
    10,
    ' 2',
    '4 ',
    '4',
    '0'
];

Для решения задачи воспользуемся функцией array_walk().
Данная функция перебирает весь массив $array и работает с каждым элементом массива.
Для того, чтобы изменить каждый элемент массива, необходимо перед параметром $value указать символ & и работать со значениями по ссылке &$value.
Внутри array_walk() используем функцию trim, которая удаляет пробелы вначале и конце строки и приводит значение к типу string:
array_walk($array, function (&$value, $key) {
    $value = trim($value);
});

Результат выполнения данной функции:
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.