| Ваш IP: 54.162.136.26 | Online(34) - гости: 22, боты: 11 | Загрузка сервера: 2.36 ::::::::::::

Цикл foreach

Цикл foreach предоставляет простой способ перебора массивов. Foreach работает только с массивами и объектами, и будет генерировать ошибку при попытке использования с переменными других типов или неинициализированными переменными.

Первый вид синтаксиса цикла foreach:

foreach ($array as $value) {
инструкции
}

Цикл foreach будет перебирать заданный массив — $array . На каждой итерации значение текущего элемента присваивается переменной $value.

Цикл foreach выполняет обход и чтение всех элементов массива, пока не будет достигнут последний.

Пример использования:

$masiv = array(1, 2, 3, 4, 5);
foreach ($masiv as $i) {
echo $i;
}

12345

Второй вид синтаксиса foreach:

foreach ($array as $key => $value) {
  инструкции
}

Теперь при использовании второго вида синтаксиса на каждой итерации дополнительно присваивается значение текущего ключа переменной $key.

Пример использования:

$masiv = array(1, 2, 3, 4, 5);
foreach ($masiv as $key => $i) {
echo "[$key] = ", $i, "<br>";
}

[0] = 1
[1] = 2
[2] = 3
[3] = 4
[4] = 5

Так же имеется возможность обхода массива массивов с распаковкой вложенного массива в переменные цикла, передав list() в качестве значения.

Пример:

$masiv = array([1, 2],[3, 4]);
foreach ($masiv as list($a, $b)) {
echo "A: $a; B: $b <br>";

A: 1; B: 2
A: 3; B: 4

Для того, чтобы напрямую изменять элементы массива внутри цикла, переменной $value должен предшествовать знак &. В этом случае значение будет присвоено по ссылке.

$masiv = array(1, 2, 3, 4, 5);
foreach ($masiv as &$i) {
$i = $i*10; // массив $i сейчас таков: array(10, 20, 30, 40, 50)
echo $i;
unset($i); // разорвать ссылку на последний элемент
}

1020304050

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

Добавить комментарий

Случайные статьи

  • Бинауральный преобразователь

    Бинауральный преобразователь

    Бинауральный преобразователь — устройство значительно снижающее эффект локализации кажущихся источников звука в голове слушателя и уменьшает неестественное резкое разделение каналов, что обычно возникает при прослушивании стерео фонограмм через стерео телефоны(наушники). Такой преобразователь приближает качество воспроизведения через головные телефоны к качеству воспроизведения через АС. Характеристики бинауральный преобразователя: Номинальное входное напряжение 0,8В …Подробнее...
  • ЭЛЕКТРИЧЕСКИЕ ПАРАМЕТРЫ ТРИОДНЫХ ТИРИСТОРОВ ТИПОВ КУ109А — КУ109Г

    Тип Наибольшее прямое напряжение, В КУ109А 700 КУ109Б 600 КУ109В 600 КУ109Г 500 Для тиристоров этого типа Ток в закрытом состоянии не более…… 0,7 мА Наибольшее постоянное обратное напряжение …. 50 В Постоянный отпирающий ток управления не более . . 0,1 А Постоянное отпирающее напряжение управления не более 3 В …Подробнее...
  • Выключатель света с задержкой

    Главная особенность выключателя с задержкой в том что после включения света, он гаснет через 1-2 минуты, такой выключатель целесообразно устанавливать в помещениях общего пользования, например в подъездах домов. Кнопку включения освещения целесообразно совместить с открыванием двери и каждый раз когда дверь будет открываться свет будет включаться и гореть 1-2 минуты, …Подробнее...
  • Вольтметр на ICL7135

    Схема вольтметра приведена на рисунке, она позволяет собрать вольтметр на 4,5 разряда на ICL7135 без использования других дефицитных деталей. Устройство можно использовать для замены модуля на КР572ПВ2, получив на один разряд индикации больше. Параметры вольтметра: Макс. измеряемое входное напряжение ±1,9999В Точность измерений от значения полной шкалы(допуск) — 0,0005% Разрешение 10 …Подробнее...
  • Цифровой вольтметр

    На данной станице представлена схема цифрового вольтметра, при все простоте он обладает большой точностью. Вольтметр основан на ИМС ICL 7107. Схема содержит минимум элементов которые необходимы для правильной работы микросхемы. Вольтметр способен измерять напряжение постоянного тока в диапазоне 0…±1999 В. Измеряемое постоянное напряжение подается на контакты 1 и 2 платы, …Подробнее...