Примените пользовательскую функцию к каждому элементу массива:
<?phpfunction myfunction($value,$key){echo "Ключ $key имеет значение $value<br>";}$a=array("a"=>"red","b"=>"green ","c"=>"blue");array_walk($a,"myfunction");?>Функция array_walk() применяет пользовательскую функцию к каждому элементу массива. В функции имя ключа и значение ключа массива являются параметрами.
Примечание. Вы можете изменить значение элемента массива, указав первый параметр пользовательской функции в качестве ссылки: &$value (см. пример 2).
Совет: Для работы с более глубокими массивами (один массив внутри другого массива) используйте функцию array_walk_recursive().
array_walk( массив, моя функция, параметр... )
параметр | описывать |
---|---|
множество | Необходимый. Указывает массив. |
моя функция | Необходимый. Имя определяемой пользователем функции. |
параметр,... | Необязательный. Указывает параметры пользовательской функции. Для функции можно задать один или несколько параметров. |
Возвращаемое значение: | Возвращает TRUE в случае успеха, в противном случае возвращает FALSE. |
---|---|
PHP-версия: | 4+ |
С одним параметром:
<?phpfunction myfunction($value,$key,$p){echo "$key $p $value<br>";}$a=array("a"=>"red","b"=>"green ","c"=>"blue");array_walk($a,"myfunction","имеет значение");?>Измените значение элемента массива (обратите внимание на значение &$):
<?phpfunction myfunction(&$value,$key){$value="yellow";}$a=array("a"=>"red","b"=>"green","c"=>" blue");array_walk($a,"myfunction");print_r($a);?>