Авторский знак. Seosait21.ru Есть у человека надежда. Пока не поздно. Вгрызайся и изучай.
Нажимай и поддержи.

Пн Вт Ср Чт Пт Сб Вс
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30


Чувашия-это моя Россия

Ссылки на Php-5 коды array_walk().

Определение и использование. Функция array_walk() работает для каждого элемента массива в пользовательской функции. Точнее будет сказать, что функция array_walk() использует пользовательскую функцию к каждому элементу массива.

Внимание!!! Вы можете изменить значение элемента массива в функции пользовательской, указав первый параметр в качестве эталона: & $значение.

Внимание!!! Для работы с более глубокими массивами( массивов внутри массива), используйте array_walk_recursive() функцию.

Параметры:

      array    - входной массив.
      funcname - обычно функция funcname принимает два параметра;
                 в качестве первого параметра идет значение элемента
                 массива array, а ключ - в качестве второго. 

Внимание!!! Если требуется, чтобы функция funcname изменила значения в массиве, сначала определите первый параметр funcname как ссылку. Потом все изменения будут применены к элементам оригинального массива.

Внимание!!! Множество встроенных функций (такие как strtolower()) выводят предупреждение, когда им передано больше параметров, чем они ожидают, или которые не могут непосредственно применить в funcname.

Изменения в функции array_walk() могут быть только для значения массива array. Структура массива не может быть изменена - нельзя добавить, удалить или поменять порядок элементов. Если callback-функция не соответствует этому требованию, то поведение функции array_walk() станет неопределённым и непредсказуемым.

Если указан необязательный параметр userdata, то параметр будет передан в качестве третьего параметра в callback-функцию funcname.

Функция array_walk() применяет пользовательскую функцию funcnamevar к каждому элементу массива array.

Функция array_walk() не подвержена влиянию внутреннего указателя массива array. При этом функция array_walk() обойдёт все элементы массива независимо от позиции указателя.

Внимание!!! Если функция funcname требует больше параметров, чем передано на самом деле, то array_walk() будет вызывать funcname, где будет генерироваться ошибка уровня E_WARNING. Эти предупреждения подавляются добавлением оператора управления ошибками PHP @ в вызов array_walk(), или использованием error_reporting().

Для полного понимания сути данной темы написал три программы-примера, которые Вы можете изучить чуть ниже.

Синтаксис:

array_walk_recursive(array,myfunction,parameter...);
      или
bool array_walk(array & $array, callable$funcname[, mixed $userdata = NULL]);
Параметр Описание
array Требуется. Определение массива
myfunction Требуется. Имя пользовательской функции
parameter,... Необязательно. Указывает параметр пользовательской функции. Вы можете назначить один параметр функции, или, как многие, как вам нравится.

Технические данные

Возврат Значения: Возвращает TRUE в случае успеха или FALSE в случае возникновения ошибки
PHP Version: 4+

ПРИМЕР №1

Напишем программу - Запустить каждый элемент массива в пользовательской функции:

< !DOCTYPE html>
< html>
< body>

< ?php
function myfunction($value,$key)
{
echo "Ключ $key имеет значение $value
"; } $a=array("a"=>"red","b"=>"green","c"=>"blue"); array_walk($a,"myfunction"); ? > < /body> < /html>

Полученный результат:

Ключ a имеет значение red
Ключ b имеет значение green
Ключ c имеет значение blue

ПРИМЕР №2

Напишем программу - С параметром:

< !DOCTYPE html>
< html>
< body>

< ?php
function myfunction($value,$key,$p)
{
echo "$key $p $value< br>";
}
$a=array("a"=>"red","b"=>"green","c"=>"blue");
array_walk($a,"myfunction","имеет значение");
? >

< /body>
< /html>                                                                

Полученный результат:

а имеет значение красный
b имеет значение зеленый
c имеет значение синий

ПРИМЕР №3

Напишем программу - Изменение значения элемента массива. (Обратите внимание на & $ значение)

< !DOCTYPE html>
< html>
< body>

< ?php
function myfunction(&$value,$key)
{
$value="yellow";
}
$a=array("a"=>"red","b"=>"green","c"=>"blue");
array_walk($a,"myfunction");
print_r($a);
? >

< /body>
< /html>                                                              

Полученный результат:

Array ( [a] => yellow [b] => yellow [c] => yellow )



seosait21.ru
HTML

seosait21.ru
CSS

seosait21.ru
Web-диз.
HTML ссылка CSS ссылка ...

seosait21.ru
JavaScript

seosait21.ru
PHP

seosait21.ru
JQuery
JavaScript ссылка PHP ссылка JQuery ссылка

seosait21.ru
SEO.

seosait21.ru
MySQL

seosait21.ru
XML
... ... ...
ПОНРАВИЛОСЬ?
ПОДЕЛИСЬ с ДРУЗЬЯМИ: