#3. 7 php Перебор элементов массива
Primary tabs
В предыдущем разделе был приведен пример вывода всех элементов массива при помощи цикла for
. Для более простого вывода всех элементов массива (в том числе со строковыми или непоследовательными числовыми индексами) предусмотрена функция print_r()
, пример использования которой приведен ниже:
<?php $fruits[0] = "яблоко"; $fruits[1] = "груша"; $fruits[2] = "абрикос"; print_r($fruits); ?>
При выполнении этого кода будет выведено следующее:
Array ( [0] => яблоко [1] => груша [2] => абрикос )
Замечание
Функция рrint_r()
предназначена для вывода переменной произвольного типа, включая обычные переменные, массивы и объекты.
Для обработки массивов предусмотрен также специальный вид цикла — цикл foreach
. Синтаксис этого оператора имеет два варианта:
foreach(array as $value) statement
;foreach(array as $key => $value) statement
.
Первый вариант оператора присваивает в цикле переменной $value
очередной элемент массива. Второй вариант кроме этого присваивает переменной $кеу
значение индекса, соответствующего текущему элементу массива. Пример использования цикла foreach
приведен ниже:
<?php $fruits = array("яблоко", "груша", "абрикос"); foreach($fruits as $value) { echo "Значение: $value <BR>"; } ?>
В результате выполнения этого примера будут выведены строки:
Значение: яблоко Значение: груша Значение: абрикос
Для вывода индекса элемента массива вместе с его значением используется второй вариант синтаксиса оператора foreach()
:
<?php $fruits = array("яблоко", "груша", "абрикос"); foreach($fruits as $key => $value) { echo "Индекс: $key; Значение: $value, <BR>"; } ?>
В результате выполнения этого примера будут выведены строки:
Индекс: 0; Значение: яблоко Индекс: 1; Значение: груша Индекс: 2; Значение: абрикос
Для перебора элементов массива может быть также использован цикл while
в сочетании с функцией each()
.
Предупреждение:
функция each() является устаревшей и удалена, начиная с php 8.0.0
Эта функция предназначена для перебора элементов массива. Каждый раз, когда она вызывается, она возвращает текущий элемент массива и передвигает внутренний указатель на следующий элемент. Функция возвращает пару индекс—значение в виде массива. Для присваивания индекса и значения элемента массива отдельным переменным используется в сочетании с функцией list()
. Пример использования этих двух функций приведен ниже.
<?php $fruits = array("яблоко", "груша", "абрикос"); while(list($key, $value) = each($fruits)) { echo "Индекс: $key; Значение: $value <BR>"; } ?>
Результат выполнения этого кода точно такой же, как и у предыдущего примера.
- Log in to post comments
- 312 reads