| Ваш IP: 34.200.222.93 | Online(27) - гости: 20, боты: 7 | Загрузка сервера: 0.88 ::::::::::::


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

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

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

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

  • Стабилизатор напряжения сетевого адаптера

    Большинство импортных адаптеров после выпрямителя не имеют стабилизатора выпрямленного напряжения. Что приводит к большим пульсациям выпрямленного напряжения, что затрудняет использование таких адаптеров питающих например радиоприемник из-за наличия пульсаций слышимых в динамике радиоприемника. Но можно применить простую схему показанную на рисунке, которая позволяет переделать адаптер, что бы получит на его выходе …Подробнее...
  • СИММЕТРИЧНЫЙ ЛAMПOBЫЙ УМЗЧ

    СИММЕТРИЧНЫЙ ЛAMПOBЫЙ УМЗЧ

    Параметры усилителя Чувствительность …………………………………………..0, 2-0, 7 В Диапазон частот ………………………………………….20.20000 Гц Выходная мощность ………………………………………………28 Bт Экономичный режим………………………………………………16 Вт УМЗЧ состоит из трех каскадов (рис.1). Первые два — усилитель напряжения, который выполнен на лампах VL1, VL2 по балансной (дифференциальной) схеме и обеспечивает достаточное усиление при малой чувствительности к пульсациям анодного напряжения. …Подробнее...
  • RIAA предусилитель на TDA2320A

    RIAA предусилитель на TDA2320A

    ИМС TDA2320A содержит в своем корпусе два низкочастотных ОУ, с очень низким током потребления, порядка 0,8 мА и работающих в широком диапазоне питающих напряжений от 3 до 36 В. ИМС TDA2320A предназначена для широкого применения в аудиотехнике (усилители воспроизведения, предварительные усилители, эквалайзеры, активные фильтры и т.д.). ИМС TDA2320A может работать …Подробнее...
  • Простой измеритель емкости(от 100пФ до 1мкФ)

    На рисунке представлена схема простого стрелочного измерителя емкости, который позволяет относительно точно измерить емкость конденсаторов от 100пФ до 1 мкФ. В измерителе емкости 4-е предела: 100…1000пФ, 1000пФ…0,01мкФ(10000пФ), 0,01…0,1мкФ, 0,1…1,0мкФ. Главное достоинство измерителя — простота конструкции, низкая себестоимость, относительно низкая погрешность измерения. На DD1.1 — DD1.3 собран опорный генератор на 100кГц. …Подробнее...
  • Адаптер для питания ноутбука в автомобиле

    Преобразователь может питаться от 10В до 15В, на выходе 19В при максимальном токе 2,5А. Так же есть схема защиты входного напряжения от падения его ниже 10В. Контроллер импульсов переменной скважности выполнен на UC3843(А1). Выходные импульсы поступают на затвор мощного ключевого полевого транзистора VT1. Преобразование происходит на частоте 50кГц. Накачка напряжения …Подробнее...