| Ваш IP: 54.224.187.45 | Online(31) - гости: 23, боты: 8 | Загрузка сервера: 2.35 ::::::::::::

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

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

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

  • УМЗЧ мощностью 200Вт

    УМЗЧ мощностью 200Вт

    В данной статье предложен УМЗЧ на 2-х микросхемах TDA7294.  Применение 2-х микросхем в мостовом включении  позволяет собрать УМЗЧ с удвоением мощности. Основные технические характеристики: Максимальная мощность — 200Вт Номинальная мощность при Кгарм 0,5% — 170Вт Номинальное вх. напряжение — 0,5В Сопротивление нагрузки — 8 Ом Диапазон воспроизводимых частот 0,02…20 кГц …Подробнее...
  • Универсальный контроллер балластов люминесцентных ламп — Трехступенчатая регулировка яркости

    Универсальный контроллер балластов люминесцентных ламп — Трехступенчатая регулировка яркости

    Трехступенчатые регуляторы яркости широко применяются в США. Система состоит из специального патрона лампы, четырехпозиционного переключателя и лампы с модифицированным контактным цоколем. Традиционная лампа в такой системе содержит две нити накаливания и три контакта на цоколе. IRPLCFL8U — это трехступенчатый регулируемый балласт для управления 32 Вт спиральной компактной люминесцентной лампой (CFL) от сети …Подробнее...
  • Стерео усилитель на TBA820М 2*2Вт

    Стерео усилитель на TBA820М 2*2Вт

    На рисунке показана схема одного канала усилителя на TBA820М, ни же показан рисунок печатной платы для стереоусилителя. Выходная мощность одного канала усилителя зависит от напряжения питания и сопротивления нагрузки :Выходная мощность: Po = 2W at 12V/8W, 1.6W at 9V/4W and 1.2W at 9V/8W.Подробнее...
  • УМЗЧ на TDA7496

    УМЗЧ на TDA7496

    Усилитель мощности на микросхеме TDA7496S относится к усилителям класса АВ и предназначен для использования в аппаратуре высокого качества. Усилитель имеет тепловую защиту и защиту от короткого замыкания. Имеется встроенная функция MUTE и STAND-BY. Усилитель на базе TDA7496S имеет следующие характеристики: Напряжение питания от 10 до 32В, номинальное напряжение 22В Ток …Подробнее...
  • HI-FI усилитель с эквалайзером для аудиоцентра

    HI-FI усилитель с эквалайзером для аудиоцентра

    Усилитель с эквалайзером может питаться напряжением от 6 до 18В, но надо учитывать то обстоятельство что мощность усилителя напрямую зависит от напряжения, поэтому только при напряжении 18В усилитель будет выдавать полную мощность. Основные характеристики: Максимальная мощность на нагрузке 2Ом при напряжении питания 18В — 2*30Вт Максимальная мощность на нагрузке 4Ом …Подробнее...