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

   BERET — 2D-ПЛАТФОРМЕР, ИГРА ГОЛОВОЛОМКА
Beret — 2D-платформер, игра головоломка про ученого по имени Берет, который имеет телекинетические способности. Основная цель игры — это прохождение уровней передвигая различные предметы и препятствия используя телекинетические способности. Игра содержит 21 уровень 120 коллекционных медальонов Более 20 часов геймплея Редактор уровней Видео Для установки игры в Linux Ubuntu необходимо скачать zip архив…
  2017-08-11 08:36:38 | Категория: Игры
   DUKTO — ПРОГРАММА ДЛЯ ОТПРАВКИ ПАПОК, ФАЙЛОВ И СООБЩЕНИЙ ПО ЛОКАЛЬНОЙ СЕТИ
Dukto — программа для отправки папок, файлов и сообщений по локальной сети   Передавать файлы или целые папки в Dukto очень легко, достаточно указать папку или файл который Вы хотите отправить, как тут же (без участия принимающей стороны) папка или файл будут отправлены в домашний каталог (для linux) на другой компьютер подключённый по локальной сети. Следует отметить, что программа должна быть установлена…
  2017-08-10 19:20:39 | Категория: Интернет
   Xournal — программа блокнот предназначен для записи заметок, рисования эскизов, набросков и ведения журнала
Xournal — программа блокнот предназначен для записи заметок, рисования эскизов, набросков и ведения журнала, используя стилус. В программе можно открывать PDF файлы и делать в них собственные пометки. Xournal имеет простой интерфейс, доступно несколько фонов для страницы (в линейку, в клеточку, заливка), можно выбрать толщину пера и цвет. Программа оснащена несколькими функциями доступных в…
  2017-08-12 20:07:42 | Категория: Офис
   FOCUSWRITER — СВОБОДНЫЙ ТЕКСТОВЫЙ РЕДАКТОР
FocusWriter — свободный текстовый редактор с минималистическим пользовательским интерфейсом, позволяющим полностью сфокусироваться на работе.   Рабочее поле программы раскрывается на весь экран (F11) и видно только текст, если переместить курсор мыши в самый верх, то становиться доступным панель управления текстового редактора. FocusWriter поддерживает базовые функции форматирования…
  2017-08-06 01:53:04 | Категория: Офис
   ПОИСК ФАЙЛОВ: LOCATE
Поиск файлов можно выполнить используя команду locate. При этом это будет быстрый поиск, так как locate при поиске обращается к базе данных. По умолчанию программа ищет и помещает в базу все файлы, начиная с корневой директории.   Если у Вас не установлен locate, то необходимо его установить: sudo apt-get install locate  Пример использования locate:   Например необходимо найти расположение…
  2017-08-02 10:51:25 | Категория: Команды терминала

Вверх