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

   XSensors — вывод информации с датчиков на материнской плате
sensors — программа, использующая libsensors для отображения в цифровом виде такой системной информации, как: температура системы, напряжения и скорости вращений вентиляторов. Программа XSensors доступна в официальном репозитории Ubuntu, поэтому ее можно установить через центр приложений Ubuntu или воспользоваться терминалом: sudo apt-get install…
  2017-08-08 18:14:45 | Категория: Система
   CUTEMAZE — ИГРА ГОЛОВОЛОМКА
CuteMaze — игра головоломка, целью которой является выйти из лабиринта, собрав все разложенные по лабиринту цели (чекпоинты).Лабиринты и расположение целей в CuteMaze генерируются случайным образом, с помощью алгоритмов различной сложности (уровень сложности выбирается игроком), игра считается законченной когда все цели будут собраны.CuteMaze опционально отображает затраченное на прохождение время, есть…
  2017-08-08 06:29:41 | Категория: Игры
   Установка драйвера 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 | Категория: Драйвера
   WARSOW — КИБЕРСПОРТИВНАЯ КОМПЬЮТЕРНАЯ ИГРА В ЖАНРЕ ТРЁХМЕРНОГО ШУТЕРА
Warsow — киберспортивная компьютерная игра в жанре трёхмерного шутера с видом от первого лица; разработана группой энтузиастов на игровом движке QFusion, который, в свою очередь, является модифицированной версией движка id Tech 2. Исходный код игры полностью открыт, однако ресурсы являются проприетарными и доступны по лицензии Warsow Content License. Игра выпускается в версиях для операционных систем Windows и Linux. Warsow…
  2017-08-09 00:08:51 | Категория: Игры
   array_fill - заполнение массива определенными значениями
Функция array_fill() заполняет массив определенными значениями, нумерация элементов массива с определенными значениями указывается в параметре функции (начальный индекс). Пример использования: $arr = array_fill(23, 3, 'php'); print_r($arr); Array ( [23] => php [24] => php [25] =>…
  2017-09-01 23:02:08 | Категория: PHP

Вверх