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

   Установка форума SMF (Ubuntu)
Simple Machines Forum (SMF) — бесплатный интернет-форум, написанный на PHP с использованием базы данных MySQL. Разрабатывается командой разработки Simple Machines. Для создания форума в первую очередь Вам необходимо установить LAMP. В наборе программ LAMP входят Apache — веб-сервер, MySQL — сервер, PHP. Дополнительно необходимо установить PHPMyAdmin — удобное веб приложение представляющее собой веб-интерфейс для…
  2017-08-13 09:50:40 | Категория: Сервер
   ЗАГРУЗКА KUBUNTU
Kubuntu — это дружественная к пользователю операционная система и использующая KDE. Kubuntu распространяется по лицензии GNU/Linux, это значит, что любой желающий может скачать и использовать kubuntu совершенно бесплатно.   Kubuntu 16.10 http://cdimage.ubuntu.com/kubuntu/releases/16.10/release/kubuntu-16.10-desktop-amd64.iso.torrent http://cdimage.ubuntu.com/kubuntu/releases/16.10/release/kubuntu-16.10-desktop-i386.iso.torrent Kubuntu 16.04 LTS (Xenial…
  2017-08-04 09:33:58 | Категория: Загрузка
   CheckInstall
CheckInstall — компьютерная программа для Unix-подобных операционных систем, созданная с целью облегчить установку и удаление программного обеспечения, скомпилированного из исходных кодов, используя при этом родную для дистрибутива систему управления пакетами. После компиляции программного обеспечения checkinstall может автоматически сгенерировать Slackware-, RPM-…
  2017-08-03 13:46:02 | Категория: Команды терминала
   Закрываем доступ к панели управления phpmyadmin в Ubuntu
Для защиты своего сервера необходимо ограничить доступ к панели управления phpmyadmin, точнее ограничить доступ из Интернета. Например если адресную строку браузера ввести адрес: http://ubuntu-desktop.ru/phpmyadmin, то попадем на страницу авторизации phpmyadmin, что не допустимо в целях безопасности. Необходимо изменить адрес и блокировать вход в панель управления phpmyadmin из Интернета. Для предоставления доступа,…
  2017-08-12 23:01:32 | Категория: Сервер
   Red Eclipse — кроссплатформенный шутер от первого лица в стиле Quake III Arena
Red Eclipse — кроссплатформенный шутер от первого лица на движке Cube Engine 2 в стиле Quake III Arena, с возможностью игры как одиночно, так и по сети. Игра примечательна захватывающим геймплеем, элементами паркура , хорошей физикой, красивой стилизованной графикой и яркими спецэффектами. Исходный код игры полностью открыт и доступен через SVN, что позволяет энтузиастам со всего мира принять участие в дальнейшей…
  2017-08-01 10:48:31 | Категория: Игры

Вверх