Дипломные работы, курсовые проекты на заказ, контрольные работы на заказ

 
Начертательная геометрия Практикум по решению задач Геометрическое черчение Инженерная графика ЕСКД Кратные интегралы Математический анализ Матрицы Пределы Производные Векторная алгебра Интегральное исчисление ТФКП Ядерная физика Электростатика Магнетизм Оптика Информационные технологии
Учебник РНР
НазадГлава 11. Структуры УправленияВперёд

foreach

В PHP 4 (не в PHP 3) имеется конструкция foreach, напоминающая аналоги из Perl и некоторых других языков. Она даёт простой способ итерировать по массиву. Есть два вида синтаксиса: второй является расширением первого и используется реже:

foreach(array_expression as $value) statement foreach(array_expression as 
$key => $value) statement

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

Второй вид выполняет то же самое, но ключ/key текущего элемента присваивается переменной $key.

Примечание: при старте foreach внутренний указатель массива автоматически устанавливается на первый элемент массива. Это означает, что вам не нужно вызывать reset() перед началом выполнения цикла foreach.

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

Примечание: foreach не поддерживает возможность подавления сообщений об ошибках с использованием '@'.

Заметьте, что следующие варианты функционально идентичны:

reset ($arr); while (list(, $value) = each ($arr)) { echo "Value: $value<br>\n"; 
} foreach ($arr as $value) { echo "Value: $value<br>\n"; }

Следующие варианты также функционально идентичны:

reset ($arr); while (list($key, $value) = each ($arr)) { echo "Key: $key; 
Value: $value<br>\n"; } foreach ($arr as $key => $value) { echo "Key: 
$key; Value: $value<br>\n"; }

Ещё несколько примеров использования:

/* 
foreach пример 1: только value */ $a = array (1, 2, 3, 17); foreach ($a as $v) 
{ print "Current value of \$a: $v.\n"; } /* foreach пример 2: value (с key, выводимым 
для иллюстрации) */ $a = array (1, 2, 3, 17); $i = 0; /* только для иллюстрации 
*/ foreach($a as $v) { print "\$a[$i] => $v.\n"; $i++; } /* foreach пример 
3: key\ключ и value\значение */ $a = array ( "one" => 1, "two" => 2, "three" 
=> 3, "seventeen" => 17 ); foreach($a as $k => $v) { print "\$a[$k] 
=> $v.\n"; } /* foreach пример 4: многомерные массивы */ $a[0][0] = "a"; $a[0][1] 
= "b"; $a[1][0] = "y"; $a[1][1] = "z"; foreach($a as $v1) { foreach ($v1 as $v2) 
{ print "$v2\n"; } } /* foreach пример 5: динамические массивы */ foreach(array(1, 
2, 3, 4, 5) as $v) { print "$v\n"; }

НазадОглавление Вперёд
for Вверхbreak