Использование таких функций, как array _, walk (и подобных функций )для изменения массивов в PHP >= 5.3

В PHP есть несколько замечательных функций (, таких как array _walk ), которые позволяют обрабатывать каждый элемент массива. Обычно они настроены так, что вы указываете массив, который хотите обработать, в качестве первого параметра и функцию обратного вызова, применяемую к каждому элементу, в качестве второго. Эти функции возвращают логические значения, указывающие на успех, а не копию измененного массива, как можно было ожидать. Если вы хотите, чтобы массив был изменен, вы должны передать массив по ссылке, напримерarray_walk(&$my_array, 'my_callback');

Однако в PHP 5.3 и выше, если вы передаете вызов функции по ссылке, вы получаете ошибку E _DEPRECATED.

Кто-нибудь знает (, существует ли )правильный способ использования этих функций для изменения массивов, не вызывая ошибок и не подавляя их явным образом? Существуют ли более новые альтернативы этим старым функциям обработки массивов.

5
задан hakre 29 April 2013 в 09:29
поделиться