| Ваш IP: 54.204.253.227 | Online(21) - гости: 15, боты: 6 | Загрузка сервера: 2.25 ::::::::::::

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

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

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

  • Драйвер для люминесцентной лампы 12В

    Драйвер для люминесцентной лампы 12В

    Схема драйвера для питания люминесцентной лампы выполнен на недорогих и широко доступных элементах. Основа драйвера таймер на TLC555 (генератор 50Гц). Силовой транзистор IRF510 нагружен обычным сетевым трансформатором, к первичной обмотке (240В) которого подключена люминесцентная лампа 4Вт. Первичная обмотка может быть от 6 до 10В. Транзистор VT1 должен быть установлен на небольшой трансформатор. …Подробнее...
  • Усилитель мощности для СВ-радиостанции

    Усилитель предназначен для стационарного использования. При входном сигнале мощностью 3 Вт он усиливает его до 50 Вт. Сигнал подается с антенного входа передатчика на разъем Х2 и далее через реле К2.1 на согласующий трансформатор Т2 и потом на управляющие сетки ламп VL1 VL2. Одновременно часть ВЧ возбуждения через С17 подается …Подробнее...
  • Автоматический выключатель ночника

    Автоматический выключатель ночника отключает ночник через определенное время. таймер IC1 работает как моностабильный генератор и выдает импульсы длительностью более 10-и минут. Устройство управляет реле которое и коммутирует светильник (220В, 50 Гц). Т1 любой малогабаритный на выходное напряжение вторичной обмотки в 15В. IC1 и К1 питаются напряжением 12В от стабилизатора 7812. …Подробнее...
  • Проводники, полупроводники и непроводники

    Проводники, полупроводники и непроводники

    ВСЁ ДЛЯ РАДИОЛЮБИТЕЛЕЙ: http://www.dessy.ru/index.html?partne… В этом выпуске: что такое проводник, что такое полупроводник, что такое непроводник, что такое изолятор или диэлектрик.Подробнее...
  • Радиомикрофон

    Схема радиомикрофона показана на рисунке. Радиомикрофон работает на частоте 87,9 МГц и представляет собой автогенератор с емкостной обратной связью и дополнительной емкостью С4 в индуктивной ветви (схема Клаппа). Дополнительная емкость необходима, во-первых, для развязки по постоянному току цепей питания и смещения. Во2вторых, она обеспечивает дополнительную степень свободы для получения оптимального …Подробнее...