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

   Установка драйвера беспроводного адаптера ACORP WCPI-300N на чипсете RT3062 (Linux)
(Опробовано на Kubuntu 12.04) В комплекте к адаптеру имеется диск с драйверами, скачайте папку DPO_RT3562_3592_3062_LinuxSTA_V2.4.1.1_20101217 в Домашнюю папку. Если нет то скачайте и распакуйте файл в Домашнюю папку. 1. Отредактируйте файл config.mk DPO_RT3562_3592_3062_LinuxSTA_V2.4.1.1_20101217/os/linux/config.mk Замените значение n на y # Support Wpa_Supplicant HAS_WPA_SUPPLICANT=y # Support Native WpaSupplicant for Network Manager HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y 2. Установите драйвер cd /путь к…
  2017-08-02 07:51:15 | Категория: Драйвера
   CONVERSEEN — МНОГОФУНКЦИОНАЛЬНЫЙ КОНВЕРТЕР ДЛЯ ОБРАБОТКИ ГРУППЫ ИЗОБРАЖЕНИИ
Converseen это многофункциональный конвертер для обработки группы изображении, написанный на C++ с Qt4 графическим интерфейсом.Converseen может преобразовать по одному шаблону большее количество графических файлов и поддерживается более 100 форматов изображений.Converseen позволяет преобразовать и изменить размеры неограниченного числа изображений всех самых популярных форматов, таких как: DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD,…
  2017-08-06 10:52:27 | Категория: Графика
   PhotoQt — стильный и простой просмотрщик графических файлов
PhotoQt — стильный и простой просмотрщик графических файлов для Linux, так же доступны простые операции с изображениями: поворот, масштабирование, переименование файла, удаление и перемещение. Окно программы может занимать весь экран, а так же работать в оконном режиме. Для установки PhotoQt в Linux Ubuntu, в терминале поочередно выполните следующие команды: sudo add-apt-repository ppa:samrog131/ppasudo apt-get updatesudo apt-get install…
  2017-08-12 09:17:36 | Категория: Графика
   cmus — лёгкий и быстрый консольный медиаплеер
cmus — лёгкий и быстрый консольный медиаплеер для Unix-подобных операционных систем. Cmus распространяется в соответствии с условиями лицензии GPL и, соответственно, является свободным ПО. Отличительной особенностью плеера является интерфейс управления, подобный редактору vi. Написан на языке Си, базируется на библиотеке ncurses. Название «cmus» происходит от словосочетания «C* Music Player». Поддерживаемые…
  2017-09-14 08:49:28 | Категория: Мультимедиа
   ASTROMENACE — КОСМИЧЕСКИЙ СКРОЛЛШУТЕР С ВОЗМОЖНОСТЬЮ МОДЕРНИЗАЦИИ КОРАБЛЯ
В игре 19 различных систем вооружения, 15 миссий, более 100 различных типов врагов. Перед началом игры необходимо выбрать уровень сложности. В AstroMenace можно не только стрелять, но и покупать оружие, продавать его на рынке. За деньги, заработанные за уничтожение противника, можно поставить новый двигатель или купить залповую установку. По ходу игры миссии усложняются. В игре присутствует на выбор много видов…
  2017-08-11 18:33:37 | Категория: Игры

Вверх