Перемещение по массиву php

Справочник по PHP : Функции работы с данными : Работа с массивами : Курсор массива

Функция reset() устанавливает внутренний курсор массива arr на его начало и возвращает значение начального элемента.

Пример использования функции reset():

n"; // "step one" // skip two steps next($array); next($array); echo current($array) . "
n"; // "step three" // reset pointer, start again on step one reset($array); echo current($array) . "
n"; // "step one" ?>

Функция поддерживается PHP 3, PHP 4, PHP 5

end

Производит перенос курсора в конец массива.

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

Пример использования функции end():

Функция поддерживается PHP 3, PHP 4, PHP 5

next

Производит перенос курсора вперед.

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

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

Пример использования функции next():

Функция поддерживается PHP 3, PHP 4, PHP 5

prev

Производит перенос курсора назад и возвращает предыдущее значени.

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

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

Пример использования функции prev():

Функция поддерживается PHP 3, PHP 4, PHP 5

current

Определение текущего элемента массива.

Каждый массив имеет внутренний указатель(курсор) текущего элемента. Обычно он указывает на первый элемент массива.

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

Если указатель находиться за пределами массива, или массив пустой, то функция возвратит FALSE.

Предупреждение: данную функцию нельзя использовать для определения конца массива, т.к. если ячейка пуста, функция так же вернёт false.

Пример использования функции current():

Функция поддерживается PHP 3, PHP 4, PHP 5

pos

Определение текущего элемента массива.

Эта функция синоним функции current().

key

Функция возвращает индекс текущего элемента массива.

Функция key() возвращает индекс текущего элемента массива.

Пример использования функции key():

 "apple", "fruit2" => "orange", "fruit3" => "grape", "fruit4" => "apple", "fruit5" => "apple"); // этот цикл пройдется по всему массиву // и выведет имя ключа элемента массива // значение которого равно "apple" while ($fruit_name = current($array)) < if ($fruit_name == "apple") < echo key($array)."*
"; > next($array); > ?>

Функция поддерживается PHP 3, PHP 4, PHP 5

each

Получение текущего элемента массива.

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

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

Массив $bar будет иметь ключи и значения:

Array ( [1] => bob [value] => bob [0] => 0 Перемещение по массиву php => 0 )
 "Bob", "Seppo" => "Sepi"); $bar = each($foo); print_r($bar); ?>

Массив $bar будет иметь ключи и значения:

Array ( [1] => Bob [value] => Bob [0] => Robert Перемещение по массиву php => Robert )

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

 "apple", "b" => "banana", "c" => "cranberry"); reset($fruit); while (list($key, $val) = each($fruit)) < echo "$key =>$val"; > ?>
a => apple b => banana c => cranberry

Функция поддерживается PHP 3, PHP 4, PHP 5

array_walk

Применение пользовательской функции к элементам массива.

bool array_walk(array arr, callback function [, mixed userdata])

Функция array_walk() применяет пользовательскую функцию function к каждому элементу массива arr. В пользовательскую функцию передаются три или два (в случае, если аргумент userdata не указан) аргумента: значение текущего элемента, его индекс и аргумент userdata.

В случае, если function требует более трех аргументов, при каждом ее вызове будет выдаваться предупреждение. Чтобы блокировать выдачу этих предупреждений, поставте знак «@» перед функцией array_walk() или воспользуйтесь функцией error_reporting().

Функция function будет получать значения и индексы массива arr по значению, т.е. не сможет вносить в него изменения. Если это необходимо, передайте аргумент arr по ссылке, указав перед его именем «&», и тогда все изменения отразяться в массиве.

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

Пример использования функции array_walk():

 "lemon", "a" => "orange", "b" => "banana", "c" => "apple"); function test_alter(&$item1, $key, $prefix) < $item1 = "$prefix: $item1"; >function test_print($item2, $key) < echo "$key. $item2
n"; > echo "Before . n"; array_walk($fruits, "test_print"); array_walk($fruits, "test_alter", "fruit"); echo ". and after:n"; array_walk($fruits, "test_print"); ?>

Приведенный пример выведет следующее:

Before . d. lemon a. orange b. banana c. apple . and after: d. fruit: lemon a. fruit: orange b. fruit: banana c. fruit: apple

Функция поддерживается PHP 3 >= 3.0.3, PHP 4, PHP 5

Источник

next

next() ведёт себя подобно current() , но с одним отличием. Перед тем, как возвратить значение элемента массива, эта функция передвигает его внутренний указатель на одну позицию вперёд. Другими словами, она возвращает следующий элемент массива и сдвигает его внутренний указатель на одну позицию.

Список параметров

Массив array модифицируется данной функцией.

Возвращаемые значения

Возвращает значение элемента массива, находящегося на позиции, следующей за позицией внутренний указателя или FALSE , если достигнут конец массива.

Эта функция может возвращать как boolean FALSE , так и не-boolean значение, которое приводится к FALSE . За более подробной информацией обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

Примеры

Пример #1 Пример использования next() и друзей

$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 . Для корректного обхода массива, который может содержать FALSE элементы, смотрите функцию each() .

Смотрите также

  • current() — Возвращает текущий элемент массива
  • end() — Устанавливает внутренний указатель массива на его последний элемент
  • prev() — Передвигает внутренний указатель массива на одну позицию назад
  • reset() — Устанавливает внутренний указатель массива на его первый элемент
  • each() — Возвращает текущую пару ключ/значение из массива и смещает его указатель

Источник

Читайте также:  Curl file create php
Оцените статью