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

   Synfig Studio – создание и редактирование 2D анимаций
Synfig — свободная программа, предназначенная для создания двумерной векторной анимации, созданная Робертом Кватльбаумом при участии Адриана Бентли. Программа способна имитировать мягкое затенение, используя нелинейную градиентную заливку областей, избавляя художника от необходимости затенять каждый кадр по отдельности. Кроме того, в программе есть множество других вычисляемых в реальном времени…
  2017-08-12 22:51:13 | Категория: Графика
   GCompris
GCompris представляет собой пакет обучающих программ для детей от 2 до 10 лет, состоящий из различных упражнений и игр образовательного характера. Некоторые из этих мероприятий являются игры ориентированы, но тем не менее до сих пор образовательные. Ниже вы можете найти список категорий с некоторыми из мероприятий, доступных в этой категории. основы компьютерной грамотности: использование клавиатуры и…
  2017-08-02 10:47:49 | Категория: Игры
   Установка драйвера Canon CAPT для принтеров Canon LBP
Установка драйвера Linux CAPT Printer Driver v2.60-1 для принтеров Canon LBP на Ubuntu 12.04, 12.10, 13.04, 13.10, 14.04, 32-битной и 64-битной архитектуры. Поддерживаемые принтеры:LBP-1210, LBP-1120, LBP-810, LBP2900, LBP3000, LBP3010, LBP3018, LBP3050,  LBP3100, LBP3108, LBP3150, LBP3200, LBP3210, LBP3250, LBP3300, LBP3310, LBP3500, LBP5000, LBP5050, LBP5100, LBP5300, LBP6000, LBP6018, LBP6020, LBP6020B, LBP6200, LBP6300, LBP6300n, LBP6310, LBP7010C, LBP7018C, LBP7200C, LBP7210C, LBP9100C, LBP9200C. Для установки драйвера необходимо в терминале выполнить следующие команды: cd…
  2017-08-12 20:06:41 | Категория: Драйвера
   array_slice - выбор среза массива
Функция array_slice() возвращает последовательность элементов массива, определённую параметрами. array_slice(array, начало_отсчета, расстояние_отсчета) Если параметр начало_отсчета положителен, то отсчет начинается с начала массива, если отрицателен, то с конца.   Функция array_slice() сбрасывает ключи массива. Начиная с PHP 5.0.2 вы можете переопределить это поведение, установив параметр третий необязательный параметр в…
  2017-09-05 21:01:28 | Категория: PHP
   SyncWall – программа для смены обоев на рабочем столе
SyncWall – программа для смены обоев на рабочем столе, которая может синхронизировать обои на нескольких рабочих столах. Основные возможности программы: автоматическое/ручное изменение фоновых изображений; поддержка нескольких мониторов; синхронизация фонового изображения между рабочими станциями; настраиваемый интервал/время дня смены фонового изображения; поддержка специальных эффектов для…
  2017-08-12 00:29:02 | Категория: Система

Вверх