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

   SCORCHED 3D — ИГРА, РЕМЕЙК ПОШАГОВОЙ АРТИЛЛЕРИЙСКОЙ СТРАТЕГИИ SCORCHED EARTH
Scorched 3D — компьютерная игра, ремейк пошаговой артиллерийской стратегии Scorched Earth. Игра полностью переработана на трёхмерную графику. В отличие от оригинальной Scorched Earth, которая является shareware-игрой, Scorched 3D является полностью бесплатной и распространяется на условиях лицензии GNU GPL. Играть можно против компьютерного соперника или по сети. Присутствует также коллективная игра, за одним компьютером могут…
  2017-08-10 08:05:53 | Категория: Игры
   ОШИБКИ ПРИ УСТАНОВКЕ ОБНОВЛЕНИЙ
В области задач появилось сообщение: Произошла ошибка. Пожалуйста, запустите менеджер пакетов из меню или введите команду sudo apt-get install-f в терминале, чтобы увидеть что произошло и исправить ошибку.Сообщение об ошибке: «Ошибка: открытие временных файлов (E: Encountered a section with no Package: header, E:Problem with Mergelist /var/lib/apt/lists/ru.archive.ubuntu.com_ubuntu_dists_precise-updates_multiverse_binary-i386_Packages, E: The package lists or status file could not be parsed or opened.)». Обычно это…
  2017-08-01 23:03:42 | Категория: Система
   МУЛЬТИЗАГРУЗОЧНАЯ USB-FLASH LIVE UBUNTU
Мультизагрузочная USB-flash Live Ubuntu Довольно удобно когда у Вас есть мультизагрузочная флешка Ubuntu на которую можно поместить дистрибутивы основанные на Ubuntu. Для создания мультизагрузочной флешки я предлагаю воспользоваться программой MultiSystem. Еще одно немаловажное достоинство данной программы это то, что дистрибутивы на загрузочную флешку можно добавлять, удалять ненужные, а самое главное это делается…
  2017-08-04 09:17:01 | Категория: Система
   DOCKY — ДОК (ЛАУНЧЕР) ДЛЯ РАБОЧЕГО СТОЛА
Полноценный док, делающий открытие избранных приложений и управление окнами более простым и быстрым. Docky хорошо интегрируется в окружение GNOME и реализует серьёзный подход к настройке и использованию. Он просто работает. Docky обеспечивает запуск приложений, управление работающими приложениями и различные «доклеты», включая показ информации о загрузке процессора, о погоде, а также часы. Он подобен…
  2017-08-11 08:47:27 | Категория: Система
   Fritzing — программа для разработки электронных устройств
Fritzing — программа для разработки  электронных устройств. Разработка уст-ва начинается с построения схемы и вывод ее на виртуальную печатную плату. Огромная библиотека компонентов включает в себя транзисторы, резисторы, конденсаторы, микросхемы, элементы коммутации и многое другое.   Так же после разработки проекта можно приступать к сборке и наладке устройства на настоящей макетной плате. .…
  2017-08-02 07:42:13 | Категория: Разное

Вверх