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

   TOYCARS — 2D ГОНОЧНАЯ ИГРА С МУЛЬТЯШНОЙ ГРАФИКОЙ
Двухмерная гоночная игра с мультяшной графикой. Вид сверху. Редакторы позволяют настраивать треки и транспортные средства.Концепция базируется на классических компьютерных играх «Jupiter’s Megadrive” для Atari ST и «Micromachines” для Super Nintendo.Гоняйте и станьте самым лучшим гонщиком. Игра находится в репозитории сайта UALinux, хотелось бы отметить, что в репозитории находится более 375 игр и 565 приложений. Для…
  2017-08-10 20:49:58 | Категория: Игры
   bcpow - возводит число произвольной точности в степень
Функция bcpow - возводит число произвольной точности в степень. Пример использования: 23,458³=12908.415 (с точностью до 3 знака после запятой) $a = 23.458; $b = 3; echo bcpow($a,$b,3); //…
  2017-09-10 09:08:13 | Категория: PHP
   ДЕЛАЕМ РЕЗЕРВНУЮ КОПИЮ ГЛАВНОЙ ЗАГРУЗОЧНОЙ ЗАПИСИ (MBR)
MBR — код и данные, необходимые для последующей загрузки операционной системы и расположенные в первых физических секторах (чаще всего в самом первом) на жёстком диске или другом устройстве хранения информации. MBR содержит небольшой фрагмент исполняемого кода, таблицу разделов (partition table) и специальную сигнатуру. Для чего нужно делать копию MBR? Может так случится, что Вы случайно делаете ошибку и…
  2017-08-04 14:54:55 | Категория: Команды терминала
   TASK COACH — ЭТО ПРОСТОЙ МЕНЕДЖЕР ПЕРСОНАЛЬНЫХ ЗАДАЧ (ОРГАНАЙЗЕР)
Task Coach — это простой менеджер персональных задач (органайзер) с открытым исходным кодом, предназначенный для учёта личных задач и списков дел. Task Coach может сортировать задачи по разным атрибутам, например по дате выполнения, назначенному приоритету или времени, потраченному на выполнение задачи. Task Coach также позволяет делать заметки и присоединять файлы к задачам. Формат, в котором хранятся данные…
  2017-08-10 20:26:37 | Категория: Разное
   INKSCAPE — БЕСПЛАТНЫЙ ВЕКТОРНЫЙ ГРАФИЧЕСКИЙ РЕДАКТОР
Inkscape — это бесплатный векторный графический редактор с открытым исходным кодом. Графический редактор Inkscape предназначен для создания и редактирования графики SVG.Редактор векторной графики Inkscape имеет WYSIWYG-интерфейс для создания и редактирования векторных изображений, предоставляя художнику свободу самовыражения. Inkscape имеет интерфейс, позволяющий напрямую управлять кодом SVG. Это позволяет убедиться,…
  2017-08-11 19:12:53 | Категория: Графика

Вверх