Установи Linux! Стань свободным!
Онлайн всего: 2 | Посетители: 1 | Боты: 1
Дата 24.07.2026 Время: 19:41
Ваш IP: 216.73.217.134
Загрузка сервера: 0.67
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 (не будет опубликован)
Имя
Комментарий
Введите число с картинки:     
Случайные статьи

   Dropbox Share — приложение которое легко и просто установит Dropbox клиент на Ваш компьютер
Dropbox — облачное хранилище данных, принадлежащее компании Dropbox Inc., позволяющее пользователям хранить свои данные на серверах в облаке и делиться ими с другими пользователями в Интернете. Работа построена на синхронизации данных. Dropbox сохранит все ваши фотографии, документы, видео и любые другие файлы. Данные, которые вы сохраните в Dropbox, будут автоматически отображаться на всех ваших компьютерах,…
  2017-08-12 10:50:35 | Категория: Интернет
   SuperTux — 2D игра в стиле Super Mario Bros
SuperTux — 2D игра в стиле Super Mario Bros. Главный герой SuperTux — пингвин, символ Linux, которому нужно собирать монеты и бонусы от уровня к уровню и бороться при этом с врагами, которые сильно усложняют эту задачу. Главная задача — пройти все уровни и заработать как можно больше очков. Действие игры происходит в двух локациях, Антарктиде и Лесу, содержащих довольно большое количество уровней. Также есть…
  2017-08-05 21:05:36 | Категория: Игры
   Okular — универсальная программа для просмотра документов на основе KPDF для KDE 4
Okular — универсальная программа для просмотра документов на основе KPDF для KDE 4. Okular может работать в разных операционных системах — Linux, Windows, Mac OS X, * BSD и т.д. Последний стабильный релиз Okular 0.17, по умолчанию входит в состав  KDE 4.11. Okular сочетает в себе отличные функциональные возможности KPDF с универсальностью поддержки различного рода документов, таких как PDF, Postscript, DjVu, CHM, XPS, EPUB и…
  2017-08-01 15:55:50 | Категория: Офис
   JAG — ИГРА ГОЛОВОЛОМКА
JAG — игра с открытым исходным кодом, представляющая собой интересную головоломку, в которой необходимо составлять ряды из одинаковых фигур. Цель игры — уничтожить все целевые клетки на каждом уровне до того, как закончится время. Передвигая фигурки с помощью мышки надо составить их в ряд начиная от трех штук, после чего они исчезнут и на их место упадут новые фигуры. Основная цель игры это убрать…
  2017-08-10 22:27:31 | Категория: Игры
   AssaultCube — трёхмерный шутер от первого лица
AssaultCube — трёхмерный шутер от первого лица, основанный на движке Cube. В основном предназначен для игры по сети, но присутствует возможность играть с ботами. Ранние релизы игры выходили под названием ActionCube. AssaultCube доступен для бесплатной загрузки, поддерживаются Linux, MS Windows и Mac OS. Весь код, включая движок Cube, открыт, однако некоторые игровые ресурсы проприетарны. AssaultCube…
  2017-08-02 14:43:04 | Категория: Игры

Вверх