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

   BINO — ПЛЕЕР ДЛЯ ПРОСМОТРА 3D ФИЛЬМОВ
Bino — плеер для просмотра фильмов со стереоскопическим эффектом. Плеер поддерживает вывод на несколько мониторов. Для работы Bino не требует никаких дополнительных драйверов, а для воспроизведения стерео-видео используется множество различных технологий. Плеер Bino имеет поддержку стереоскопического 3D-режима с использованием OpenGL для вывода видео, OpenAL для вывода аудио, FFmpeg для декодирования видео и аудио,…
  2017-08-04 09:08:48 | Категория: Мультимедиа
   BUBBLE SHOOTER ДЛЯ LINUX
Версия 3.13 для Linux Bubble Shooter — одна из самых самых захватывающих игр! Ваша цель, очистить все пузырьки с доски, заработав как можно больше очков, для этого необходимо стрелять другими пузырями, когда три пузыря одинакового цвета будут вместе, то они лопнут. Управление в игре происходит при помощи мыши. Но игра представляет собой не только из стрельбу по пузырям, но и увлекательную головоломку. Игра платная,…
  2017-08-10 20:29:38 | Категория: Игры
   Linphone — IP телефония
Linphone — кроссплатформенный программный клиент IP-телефонии в стандарте SIP с открытым исходным кодом, распространяемый по лицензии GNU GPL. Программа Linphone предназначена для организации аудио и видео-вызовов, а также обмена текстовыми сообщениями посредством Интернета. SIP-клиент Linphone имеет простой многоязычный (в том числе русский) графический интерфейс, основанный на GTK, и может быть использован на…
  2017-08-12 20:47:14 | Категория: Интернет
   Blood Frontier — бесплатный 3D шутер для Linux
Blood Frontier это бесплатный 3D шутер для Linux, Windows и MacOS X от первого лица. В игре есть как однопользовательский режим с ботами, так и сетевой, в котором можно постреляться с реальными противниками. Данный шутер особенно придется по душе, всем любителям и поклонникам Quake. Графика и эффекты у Blood Frontier очень приятные, а звуки и музыка особо не надоедают. Blood Frontier использует игровой движок Cube Engine…
  2017-08-01 23:19:32 | Категория: Игры
   TRIMAGE — БЫСТРАЯ ОПТИМИЗАЦИЯ ИЗОБРАЖЕНИЙ
Trimage — это легкое кроссплатформенное приложения для оптимизации изображений форматов JPG и PNG без потери качества. Программа очень полезна вебмастерам, для быстрой оптимизации размера изображения. Программа позволяет увидеть перед сжатием изображения предполагаемый процент сжатия. Программа доступна в официальном репозитории Ubuntu, поэтому ее можно установить через центр приложений Ubuntu или…
  2017-08-04 11:16:31 | Категория: Графика

Вверх