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

   Minetest — бесплатный клон игры Minecraft
Minetest — игра для Linux, являющаяся бесплатным клоном игры Minecraft. Вы играете от первого лица и перемещаетесь по трехмерному миру.   В Minetest игрок попадает на необитаемый остров, состоящий из кубических и не только «блоков», каждый из которых может быть разрушен или построен. Игроку предстоит исследование мира, столкновения с опасными врагами, создание инструментов из подручных…
  2017-08-01 10:45:24 | Категория: Игры
   Gridwars
Gridwars — бесплатная игра для Linux, созданная по мотивам популярной игры Geometry Wars. В игре надо управлять маленьким космическим кораблем и  уничтожать врагов, чем больше Вы уничтожите врагов, тем больше Вам зачислят очков. Игра достаточно красивая и динамичная, присутствуют множество цветовых эффектов , вспышки, салюты и др. По умолчанию ваш космический корабль управляется мышкой.Левая кнопка…
  2017-08-01 10:39:13 | Категория: Игры
   Сканер AI-Bolit — эффективный инструмент веб-мастеров для поиска вирусов и вредоносного кода
Сканер AI-Bolit — эффективный инструмент веб-мастеров и администраторов сайтов для поиска вирусов и вредоносного кода. Скрипт AI-Bolit умеет: искать вирусы, вредоносные и хакерские скрипты на хостинге: шеллы по сигнатурам и гибким паттернам, шеллы на основе несложной эвристики — все то, что обычные антивирусы и сканеры найти не могут; искать редиректы в .htaccess на вредоносные сайты; искать код ссылочных…
  2017-08-13 10:27:23 | Категория: Сервер
   Удаление файлов и каталогов
Для того чтобы удалить файл необходимо воспользоваться утилитой rm, например: rm /home/имя пользователя/Загрузки/271397.pdf  Если для файла отсутствуют права на запись, вы можете получить сообщение об ошибке с отказом в доступе. Чтобы принудительно удалить неважно какой файл, используйте опцию -f, например так: rm -f /home/имя пользователя/Загрузки/271397.pdf  Для удаления каталога необходимо добавить…
  2017-08-03 09:40:16 | Категория: Команды терминала
   Установка ядра Linux Kernel 3.11
1. Откройте терминал, скопируйте и выполните одну из команд, согласно архитектуры вашей системы/компьютера, на свой страх и риск:    Для 32-bit (одной командой): cd /tmp && wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11-saucy/linux-headers-3.11.0-031100-generic_3.11.0-031100.201309021735_i386.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11-saucy/linux-headers-3.11.0-031100_3.11.0-031100.201309021735_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11-saucy/linux-image-3.11.0-031100-generic_3.11.0-031100.201309021735_i386.deb && sudo dpkg -i…
  2017-08-20 15:47:59 | Категория: Система

Вверх