Перебор элементов массива

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

code: #php
<?php
$fruits[0]   = "яблоко";
$fruits[1]  = "груша";
$fruits[2]  = "абрикос";
print_r($fruits);
?>

При выполнении этого кода будет выведено следующее:

code: #php
Array (
[0] => яблоко
[1] => груша
[2] => абрикос
)

Для обработки массивов предусмотрен также специальный вид цикла — цикл foreach. Синтаксис этого оператора имеет два варианта:

code: #php
foreach(array as $value) statement
foreach(array as $key => $value) statement

Первый вариант оператора присваивает в цикле переменной $value очеред­ной элемент массива. Второй вариант кроме этого присваивает переменной $кеу значение индекса, соответствующего текущему элементу массива. Пример ис­пользования цикла foreach приведен ниже:

code: #php
<?php
$fruits = array("яблоко", "груша", "абрикос");
foreach ($fruits as $value) {
  echo "Значение:  $value\n";
}
?>

В результате выполнения этого примера будут выведены строки:

Значение: яблоко
Значение: груша
Значение: абрикос

Для вывода индекса элемента массива вместе с его значением используется второй вариант синтаксиса оператора foreach:

code: #php
<?php
$fruits = array("яблоко", "груша", "абрикос");
foreach ($fruits as $key => $value) {
  echo "Индекс:  $key;  Значение:  $value\n";
}
?>

В результате выполнения этого примера будут выведены строки:

Индекс:  0;  Значение: яблоко
Индекс:  1;  Значение:  груша
Индекс:  2; Значение: абрикос

Для перебора элементов массива может быть также использован цикл whilе в сочетании с функцией each. Эта функция специально предназначена для пере­бора элементов массива. Каждый раз, когда она вызывается, она возвращает те­кущий элемент массива и передвигает внутренний указатель на следующий эле­мент. Функция возвращает пару индекс—значение в виде массива. Для при­сваивания индекса и значения элемента массива отдельным переменным используется функция list. Пример использования этих двух функций приве­ден ниже.

code: #php
<?php
$fruits = array("яблоко", "груша", "абрикос");
while ($list($key,  $value)  = each ($fruits)) {
  echo "Индекс:  $key;  Значение:  $value\n";
}
?>

Результат выполнения этого кода точно такой же, как и у предыдущего при­мера.

Книга: PHP в примерах. Купить книгу
Автор: Стивен Хольцнер. Переводчик: С. Банников
Поделиться:

Похожие статьи: