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

   Widelands — компьютерная стратегическая игра реального времени
Widelands — компьютерная стратегическая игра реального времени, распространяемая по лицензии GNU GPL. Игровым процессом и некоторыми идеями похожа на The Settlers и The Settlers II. Игра находится в процессе разработки, в настоящее время работа идёт над графикой и исправлением багов. Widelands работает под Linux, BSD, Mac OS X и Windows. Widelands включает в себя однопользовательский режим, многопользовательский режим для локальной сети и с…
  2017-08-03 11:03:53 | Категория: Игры
   YOUTUBE-DL — УТИЛИТА ДЛЯ ЗАГРУЗКИ ВИДЕО С YOUTUBE И ДРУГИХ ВИДЕО-ХОСТИНГОВ ПРИ ПОМОЩИ ТЕРМИНАЛА
outube-dl — утилита для загрузки видео с youtube и других видео-хостингов при помощи терминала. Установите утилиту youtube-dl: sudo apt-get install youtube-dl Скачиваем видео (пример): youtube-dl http://www.youtube.com/watch?v=uchaKdid-rw [youtube] Setting language [youtube] uchaKdid-rw: Downloading webpage [youtube] uchaKdid-rw: Downloading video info webpage [youtube] uchaKdid-rw: Extracting video information [download] Destination: Сказочная природа.-uchaKdid-rw.mp4 [download] 100% of 14.20MiB in 00:48 Скачиваем видео в нужном нам формате, при этом надо…
  2017-08-08 18:33:53 | Категория: Мультимедиа
   ARISTA TRANSCODER — БЕСПЛАТНЫЙ КОНВЕРТЕР ВИДЕО ДЛЯ *NIX СИСТЕМ
Arista Transcoder — бесплатный конвертер видео для *NIX систем, направленный на быстрое и простое решение задач по перекодировке видео для различных устройств, таких как: iPod, iPhone, PSP, Playstation 3, Android, Nokia, DVD и др. Поддерживает форматы MP4, WebM, Matroska, AVI, Ogg, FLV (кодеки — видео: H.264, VP8, MPEG4 / DivX, MPEG2, Theora, Flash Video / аудио: AAC, Vorbis, MP3, FLAC, Speex, WAV). Программа Arista Transcoder доступна в официальном репозитории Ubuntu, поэтому ее можно установить…
  2017-08-06 19:04:07 | Категория: Мультимедиа
   ATOMIX
Atomix — бесплатная игра для Linux. Игровое поле представляет собой двумерный замкнутый лабиринт, в котором находятся несколько шариков-атомов разного цвета. Их необходимо расположить рядом друг с другом определённым образом, составив заданную фигуру-молекулу по указанному образцу. Шарики можно передвигать в четырёх направлениях, расстояние перемещения не регулируется, шарик двигается до тех пор, пока не…
  2017-08-01 23:53:08 | Категория: Игры
   Synfig Studio – создание и редактирование 2D анимаций
Synfig — свободная программа, предназначенная для создания двумерной векторной анимации, созданная Робертом Кватльбаумом при участии Адриана Бентли. Программа способна имитировать мягкое затенение, используя нелинейную градиентную заливку областей, избавляя художника от необходимости затенять каждый кадр по отдельности. Кроме того, в программе есть множество других вычисляемых в реальном времени…
  2017-08-12 22:51:13 | Категория: Графика

Вверх