Установи Linux! Стань свободным!
Онлайн всего: 2 | Посетители: 1 | Боты: 1
Дата 18.01.2026 Время: 14:12
Ваш IP: 216.73.216.126
Загрузка сервера: 0.64
old.ubuntu-desktop.ru - Цикл foreach - PHP    Главная > Веб-программирование > PHP

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

Рейтинг
<< Предыдущая статьяСледующая статья >>
  2017-08-11 12:09:21 | liman28 | Категория: PHP | Просмотров: 57
Комментарии
E-mail (не будет опубликован)
Имя
Комментарий
Введите число с картинки:     
Случайные статьи

   KBREAKOUT — КЛОН ИГРЫ «АРКАНОИД»
Игра kbreakout похожа на классические игры breakout и xboing, но отличается улучшенной графикой и эффектами. Верхняя треть игрового экрана занята рядами брусков. По экрану, отскакивая от верхней и боковых границ экрана, движется мяч. Попадая в брусок, мяч отскакивает, а брусок исчезает. Игрок теряет одну жизнь, когда мяч ударяется в нижнюю часть экрана; чтобы предотвратить это, у игрока есть подвижная ракетка, с…
  2017-08-10 20:51:18 | Категория: Игры
   array_sum - вычисление суммы значений массива
Функция array_sum() вычисляет сумму значений массива. Пример использования: $a = array (12.43,14,53,8); $arr = array_sum…
  2017-09-06 20:59:40 | Категория: PHP
   УСТАНОВКА ПРИЛОЖЕНИЯ ОБЛАЧНОГО ХРАНЕНИЯ ОТ MAIL.RU ДЛЯ LINUX
Заведите почтовый ящик в Mail.ru или войдите в него. Во вкладке «Еще» выберите «Облако»     Вы войдете на страницу облачного хранения     Скачайте deb пакет для установки облачного хранения от Mail.ru        Установите deb пакет используя команду: sudo dpkg -i ~/Загрузки/Имя_пакета.deb   Запустите приложение из меню Dash или используйте в терминале для запуска приложения…
  2017-08-12 20:52:07 | Категория: Интернет
   Bouncy the Hungry Rabbit (Приключения голодного кролика) — интересная детская игра 12.10.2014
Bouncy the Hungry Rabbit (Приключения голодного кролика) — интересная детская игра, в ней кролик должен съесть все овощи, но за ним будет следовать фермер пытаясь его поймать. Игра не имеет возрастных ограничений. Все объекты игры упрошенные и простые. Для того, чтобы съесть овощ, нажимайте и удерживайте клавишу E. Если фермер подошел к вам слишком быстро, то можно зарыться в землю (клавиша D)…
  2017-08-01 10:31:22 | Категория: Игры
   KOBO DELUXE
Kobo Deluxe — двумерный шутер от третьего лица с простой и чувствительной системой управления, где нужно сражаться с кучей вражеских кораблей, которые стреляют, охотятся на вас, окружая ведут огонь, или даже запускают к вам другие корабли, пока вы пытаетесь уничтожить их базу, похожую на лабиринт. В игре 50 уровней, каждый следующий сложнее предыдущего, с различным набором врагов, для борьбы с которыми надо…
  2017-08-06 20:50:38 | Категория: Игры

Вверх