Итерация элементов массива

Для последовательного просмотра (итерации) элементов массива используются функции

mixed current(array array)или mixed pos(array array)

mixed next(array array)

mixed prev(array array)

mixed reset(array array)

mixed end(array array)

Каждый массив имеет внутренний указатель на свой текущий элемент, который инициализируется значением указателя на первый элемент, вставленный в массив. Функция current() или pos() возвращает значение текущего элемента массива, функции next() и prev() – переводят внутренний указатель на следующий или предыдущий элемента массива и возвращают значение этого элемента или false, если указатель вышел за границы массива. Функции reset() и end() устанавливают внутренний указатель соответственно на первый или последний элемент массива и возвращают значение этого элемента.

Пример 4.6.100. Использование функций current() и next():

Фрагмент вывода элементов массива $a имеет следующий вид:

// Массив чисел

$a = array(5, 12, 32, 42, 43);

// Вывод первого элемента массива

print "\n\$a: ".current($a);

// Вывод остальных элементов массива

while(($current_item = next($a))!= false)

print ", ".$current_item;

Вывод фрагмента имеет следующий вид:

Функция

array each(array array)

возвращает ключ и значение текущего элемента массива и перемещает внутренний указатель на следующий элемент. Функция возвращает ключ и значение в массиве из четырех элементов. Первый и третий элемент этого массива (с ключами 0 и key) содержат значение ключа, а второй и четвертый элемент (с ключами 1 и value) – значение элемента массива. Если внутренний указатель находится после последнего элемента массива, функция возвращает значение false.

Пример 4.6.101. Использование функции each():

Если заданы следующие предложения:

$names = array ("Richard" => "Dick", "Nicolas" => "Nick");

while(($name = each ($names))!= false) print_r($name);

то выводимые массивы будут содержать следующие пары ключ/значение:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: