| Ваш IP: 54.204.172.174 | Online(29) - гости: 13, боты: 16 | Загрузка сервера: 3.27 ::::::::::::

Цикл 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().

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

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

  • Микшеры на ОУ

    Микшеры на ОУ

    На рисунке представлена схема трехвходового микшера предназначенного для работы с микрофонными каналами. Микшер имеет следующие характеристики: Номинальное входное напряжение Номинальное выходное напряжение Отношение сигнал\шум Диапазон воспроизводимых частот Коэффициент гармоник Минимальное сопротивление нагрузки 2мВ 100мВ 56дБ 30…30000Гц 0,05% 10кОм ОУ включен по схеме суммирующего усилителя. Вместо указанного ОУ можно применить К157УД2, …Подробнее...
  • Двух канальный терморегулятор на DS18B20

    Двух канальный терморегулятор на DS18B20

    На рисунке показана схема двух канального терморегулятора, в качестве датчиков температуры используются датчики DS18B20 корпорации Dallas Semiconductor. Терморегулятор имеет рабочий диапазон температур от 0 до 125 градусов Цельсия,  управление терморегулятором осуществляется при помощи трех кнопок: SA1 SA2 — регулировка температуры срабатывания реле SA3 — выбор канала при регулировании температуры HL1 HL2 …Подробнее...
  • Лабораторный источник питания

    Хар-ки: Диапазон регулировки выходного напряжения от 0 до 27 В Максимальный ток нагрузки 5 А Коэффициент пульсаций выходного напряжения не более 0,003% Время срабатывания защиты не более 0,1mS Схема стабилизатора представляет собой компенсационный стабилизатор последовательного типа. Защита выполнена по триггерной схеме. Сетевое напряжение понижается трансформатором до 32-35В и выпрямляется (VD1-VD4). …Подробнее...
  • Пробник-генератор ЗЧ для проверки акустических излучателей

    Это уст-во позволяет получить АЧХ динамических головок, узнать предельную частоту динамической головки, проверить ее исправность и может быть использовано как генератор ЗЧ с высокостабильным выходным напряжением во все полосе рабочих частот. Пробник вырабатывает синусоидальные колебания от 20 до 20000 Гц. Этот диапазон разбит на 3 под диапазона 20…200Гц, 200…2000Гц, 2000…20000Гц. …Подробнее...
  • Регулируемый блок питания с цифровым управлением

    Схема регулируемого блока питания м цифровым управлением состоит из регулятора положительного напряжен7ия на KM317, КПОМ декадного счетчика CD4017, таймера NE555 и регулятора отрицательного напряжения на LM7912. Напряжение сети понижается трансформатором до напряжения +/-12В при токе 1А во вторичной обмотке, далее оно выпрямляется. С1-С5 емкостной фильтр постоянного напряжения. Светодиод LED1 сигнализирует …Подробнее...