| Ваш IP: 3.231.226.211 | Online(31) - гости: 19, боты: 11 | Загрузка сервера: 0.92 ::::::::::::


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

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

Войти с помощью: 

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

  • Аудиопроцессор TDA7419 + LCD1602 (Arduino)

    Аудиопроцессор TDA7419 + LCD1602 (Arduino)

    Ранее на странице https://rcl-radio.ru/?p=57658 расматривался пример использования аудипроцессора TDA7419 на платформе Arduino с использованием дисплея  LCD TFT 2,4 (SPFD5408), на этой странице будет рассмотрен пример использования LCD дисплея LCD1602 на базе контроллера HD44780. Главной задачей при разработке регулятора тембра и громкости на TDA7419 ставилась простота и удобство управления. Аудиопроцессор содержит множество настроек …Подробнее...
  • BABYSITTER

    BABYSITTER — устройство похожее на радиопередатчик которое устанавливают в детской спальне, в качестве приемника используется обычный УКВ_ЧМ приемник с диапазоном 64-73МГц или 88-108 МГц. На рисунке показана схема такого уст-ва, питание подается на него с сетевого адаптера на 10В. Микрофон принимая звуковой сигнал подает его на модулятор НЧ сигнала. У …Подробнее...
  • Автомат управления освещением

    Предлагаемый автомат управления освещением обладает возможностью обнаруживать низкие уровни освещенности, что позволяет включать освещение с наступлением сумерек и выключать, как только забрезжит рассвет. Электрическая схема автомата управления показана на рисунке. Он состоит из управляемого генератора импульсов на однопереходном транзисторе VT2 и электронных ключей на тиристорах VS1 и VS2. Управление генератором …Подробнее...
  • LM1578A, LM2578A, LM3578A — импульсные стабилизаторы напряжения

    LM1578A, LM2578A, LM3578A — импульсные стабилизаторы напряжения

    LM1578A, LM2578A, LM3578A — могут служить импульсным понижающим стабилизатором, импульсным повышающим стабилизатором, инверсным стабилизатором. Основные характеристики: Инверсные и не инверсные входы для обратной связи Опорное напряжение на входах 1.0 В Напряжение питания от 2 В до 40 В Выходной ток до 750 мА (без транзистора) Ограничение тока и тепловая защита КПД до 90% …Подробнее...
  • ЧМ радиостанция

    Технические харак-ки: Рабочая частота 27,12МГц Чувствительность 5мкВ Мощность передатчика 0,25Вт Мощность УЗЧ 0,07Вт Девиация частоты 3кГц Ток потребления при приеме 20мА Ток потребления при передаче 80мА Дальность действия радиостанции 300-500м. Приемный тракт построен на 2-х микросхемах и 3-х транзисторах: К174ПС1 и К174УР3. Приемный тракт имеет 2-а колебательных контура — входной …Подробнее...