prev
(PHP 4, PHP 5)
prev — Передвигает внутренний указатель массива на одну позицию назад
Описание
Передвигает внутренний указатель массива на одну позицию назад.
prev() ведёт себя подобно next(), за исключением того, что она передвигает внутренний указатель массива на одну позицию назад, а не вперёд.
Список параметров
- array
-
Входной массив.
Возвращаемые значения
Возвращает значение массива, на которое ранее указывал внутренний указатель массива, или FALSE если больше элементов нет.
Примеры
Пример #1 Пример использования prev() и друзей
<?php
$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
$mode = next($transport); // $mode = 'bike';
$mode = next($transport); // $mode = 'car';
$mode = prev($transport); // $mode = 'bike';
$mode = end($transport); // $mode = 'plane';
?>
Примечания
Эта функция может возвращать как boolean FALSE, так и не-boolean значение, которое приводится к FALSE. За более подробной информацией обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.
Замечание: Вы не сможете различить начало массива от boolean элемента FALSE. Для корректного обхода массива, который может содержать элементы FALSE, смотрите функцию each().
Смотрите также
- current() - Возвращает текущий элемент массива
- end() - Устанавливает внутренний указатель массива на его последний элемент
- next() - Передвигает внутренний указатель массива на одну позицию вперёд
- reset() - Устанавливает внутренний указатель массива на его первый элемент
- each() - Возвращает текущую пару ключ/значение из массива и смещает его указатель
- PHP Руководство
- Индекс функций
- Справочник функций
- Расширения, относящиеся к переменным и типам
- Массивы
- array_change_key_case
- array_chunk
- array_combine
- array_count_values
- array_diff_assoc
- array_diff_key
- array_diff_uassoc
- array_diff_ukey
- array_diff
- array_fill_keys
- array_fill
- array_filter
- array_flip
- array_intersect_assoc
- array_intersect_key
- array_intersect_uassoc
- array_intersect_ukey
- array_intersect
- array_key_exists
- array_keys
- array_map
- array_merge_recursive
- array_merge
- array_multisort
- array_pad
- array_pop
- array_product
- array_push
- array_rand
- array_reduce
- array_replace_recursive
- array_replace
- array_reverse
- array_search
- array_shift
- array_slice
- array_splice
- array_sum
- array_udiff_assoc
- array_udiff_uassoc
- array_udiff
- array_uintersect_assoc
- array_uintersect_uassoc
- array_uintersect
- array_unique
- array_unshift
- array_values
- array_walk_recursive
- array_walk
- array
- arsort
- asort
- compact
- count
- current
- each
- end
- extract
- in_array
- key
- krsort
- ksort
- list
- natcasesort
- natsort
- next
- pos
- prev
- range
- reset
- rsort
- shuffle
- sizeof
- sort
- uasort
- uksort
- usort
Коментарии
// example of backward iteration
$ar = array ( 'a', 'b', 'c', 'd', 'e', 'f') ;
print_r($ar);
end($ar);
while($val = current($ar)) {
echo $val.' ';
prev($ar);
}
Here's a slight revision to xmlich02's backwards iteration example. The problem with his/her example is that it will halt if any of the array elements are boolean false, while this version will not.
<?php
end($ar);
while ( !is_null($key = key($ar)) ) {
$val = current($ar);
echo "{$key} => {$val}\n";
prev($ar);
}
?>