Главная > Программирование > РНР: настольная книга программиста
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

20.8. Получение элементов согласно внутреннему указателю массива

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

• pos(),

• end(),

• next(),

• prev(),

• reset().

Функция pos() имеет следующий синтаксис:

mixed pos (array array)

Она производит возврат элемента массива, но не просто неопределенного элемента, а именно того, на котором в данный момент программы находится внутренний указатель. Если он стоит на первом элементе, то будет возвращен первый элемент.

Например:

<?

$new_work = array (1,2,5,7);

$а = pos($new_work);

echo $a;

?>

На экран будет возвращено значение, равное единице, так как в начальный момент внутренний указатель находится именно в том месте. Данная функция используется в РНР 3 и РНР 4.

Если необходимо перевести внутренний указатель массива на последний элемент, используют функцию end(). Она имеет синтаксис, аналогичный pos(). Если из менить нашу программу и вместо функциироз () записать end(), то внутренний указатель переместится в конец нашего массива и вернет значение, равное семи.

Функция next() перемещает внутренний указатель массива на следующий эле мент. В нашей программе при использовании функции next() получим результат, равный двум. Сначала внутренний указатель находился на первом элементе, рассматриваемая функция перевела его на второй и возвратила значение.

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

<?

$new_work = array (1,2,5,7);

$а = end($new_work);

$b = prev ($new_work);

echo $b;

?>

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

Функция reset() перемещает внутренний указатель на первый элемент. Она не аналогична работе функции pos(), Дело в том, что функция pos() устанавливает внутренний указатель на текущий элемент и возвращает это а функция reset() — только на первый элемент массива и также производит возврат значения.


ВНИМАНИЕ

Все вышеописанные функции подчиняются одному правилу: если массив, к которому они производят обращение, является пустым, то каждая из этих функций возвратит значение, равное false (ложь).


<< Предыдущий параграф Следующий параграф >>
Оглавление