Отправляет email-рассылки с помощью сервиса Sendsay

PHP 5 для начинающих

  Все выпуски  

МАССИВЫ: Итерация - Ручной режим


Вниманию читателей!

Отдельные выпуски рассылки в той или иной мере взаимосвязаны. С предыдущими выпусками Вы можете ознакомиться:

  1. в архиве рассылки (оригиналы выпусков);
  2. на сайте рассылки (исправленные и дополненные версии).

# # #

Вы также можете подписаться на рассылку "PHP 5: Новые возможности".

PHP 6 уже в разработке!

Еще в ноябре 2005 года на встрече в Париже разработчики обсудили новые возможности следующей, шестой, версии PHP. Интересует ли Вас, какой будет эта версия? Примите участие в опросе, который проводится на сайте рассылки.

http://pterodactyl.l2p.net/e107/

[опрос на английском языке: PHP 6: Are you interesting in? (PHP 6: Вы зантересованы?) - YES (ДА) - NO (НЕТ)]

PHP 5 для начинающих

Итерация представляет собой последовательный перебор элементов массива. Существует несколько способов такого перебора.

Замечание

Это становится возможным благодаря наличию встроенной поддержки перебора массивов - своего рода системы указателей. Ее суть заключается в следующем. Как известно, массивы представляют собой набор пар ключ/значение, хранящихся в том порядке, в котором они были добавлены в массив. Одна из этих пар является текущей (на нее установлен указатель); именно к ней в данный момент осуществляется доступ. Затем указатель может передвигаться на следующую или на предыдущую пару, а также в начало или в конец массива (на первую или на последнюю пару); при этом пара, на которую передвинулся указатель, становится текущей.

Аннотация

Перебор элементов массива в ручном режиме.

Ручной режим передвижения по массиву предполагает, что управление указателем осуществляется непосредственно программистом с использованием следующих пяти функций.

Замечание

Указатель во вновь созданном массиве установлен на первый элемент.

Функция current(). Положение указателя не изменяется. Возвращает значение текущего элемента или false, если ранее указатель достиг начала или конца массива и возвращать больше нечего.

Подсказка

Извлечь ключ, а не значение, текущего элемента можно с помощью функции key().

$key = key($a);

Функция next(). Передвигает указатель на следующий элемент и возвращает его значение или false, если достигнут конец массива и возвращать нечего.

Функция previous(). Передвигает указатель на предыдущий элемент и возвращает его значение или false, если достигнуто начало массива и возвращать нечего.

Функция end(). Передвигает указатель на последний элемент массива и возвращает его значение или false, если массив пустой.

Функция reset(). Передвигает указатель на первый элемент массива и возвращает его значение или false, если массив пустой.

<?php

$a = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);

$current = current($a);
print $current;
while ($current = next($a)) {
    print $current;
}

?>
            
0123456789

Подсказка

Во избежание преждевременного выхода из цикла из-за нуля или пустой строки предпочтительнее использовать следующее условие.

while (($current = next($a)) !== false) { /* ... */ }

После операций по передвижению указателя для повторного перебора элементов массива необходимо установить его на первый элемент с помощью функции reset().

Обратный порядок перебора элементов может быть реализован с помощью функций end(), current() и prev().

Created with DocBook Created with Libxslt


В избранное