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

   УСТАНОВКА СТАНДАРТНЫХ ОБОЕВ ИЗ ПРЕДЫДУЩИХ РЕЛИЗОВ UBUNTU
Если Вы пользуетесь стандартными обоями рабочего стола в Ubuntu 14.04 «Trusty Tahr», то наверное заметили что выбор обоев не богат. Для того чтобы разнообразить выбор обоев, их можно установить из предыдущих релизов Ubuntu. Для этого в терминале выполните следующую команду: sudo apt-get install ubuntu-wallpapers-saucy ubuntu-wallpapers-raring ubuntu-wallpapers-quantal ubuntu-wallpapers-precise ubuntu-wallpapers-oneiric ubuntu-wallpapers-natty ubuntu-wallpapers-maverick ubuntu-wallpapers-lucid…
  2017-08-10 20:12:47 | Категория: Ubuntu
   Настройка ProFTPd для хостинга
В данной статье я попытаюсь просто и доступно описать установку и настройку ProFTPd, для предоставления ftp доступа к сайту для конкретного пользователя к определенному виртуальному хосту. Такой пользователь может изменять файлы, закачивать новые на сайт, но только в пределах сайта к которому предоставлен ftp доступ. Сервер Apache2 работает от имени www-data, у которого UserId=33, GroupId=33, соответственно наш…
  2017-08-11 08:28:40 | Категория: Сервер
   Guayadeque — легковесный и простой в использовании музыкальный проигрыватель
Guayadeque это легковесный и простой в использовании музыкальный проигрыватель, который поддерживает умные плейлисты и огромную музыкальную коллекцию.   Основные возможности: Воспроизведение форматов mp3, ogg, flac, wma, mpc, mp4, ape, и других. Может считывать и выставлять метки для поддерживаемых форматов. Классификация музыкальной коллекции метками. Любая композиция, исполнитель или альбом может иметь любое…
  2017-08-04 08:44:41 | Категория: Мультимедиа
   УСКОРЕНИЕ РАБОТЫ LINUX UBUNTU
Рассмотрим параметры vm.vfs_cache_pressure — он указывает размер используемого дискового кэша и vm.swappiness — этот параметр определяет при каком % свободной оперативной памяти будет задействован SWAP (виртуальная память). Параметры vm.vfs_cache_pressure: 0 — не кэшировать ничего. 100 — значение по-умолчанию. >100 — агрессивно кэшировать дисковые операции. Рекомендуется устанавливать значение 1000 и больше для…
  2017-08-04 08:46:42 | Категория: Система
   YO FRANKIE! — БЕСПЛАТНАЯ ТРЕХМЕРНАЯ ИГРА ДЛЯ LINUX
Yo Frankie! — бесплатная трехмерная игра для Linux. Главный герой игры бельченок по имени Фрэнк, который может прыгать, бегать, нападать. Так же Вы можете подбирать предметы и кидать их в других персонажей игры. В игре три вида оружия: собственные лапы, жёлуди и желудёвая базука. Игра имеет открытые исходники, распространяемые по лицензии GPL. А вся графика, 3D модели, музыка распространяются по лицензии Creative Commons.…
  2017-08-10 20:59:31 | Категория: Игры

Вверх