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

   WPS Office — офисный пакет
WPS Office (ранее известный как Kingsoft Office) — офисный пакет, созданный китайским разработчиком программного обеспечения Kingsoft как альтернатива Microsoft Office. Продукт имеет давнюю историю развития в Китае. 6 июня 2014 года Kingsoft Office был переименован в WPS Office. Все продукты Kingsoft Office, как платные, так и бесплатные, были переименованы в WPS Office. Пакет состоит из текстового процессора Kingsoft Writer, программы создания презентаций…
  2017-08-12 20:33:52 | Категория: Офис
   NJAM — ПОЛНОФУНКЦИОНАЛЬНЫЙ КЛОН КЛАССИЧЕСКОЙ ИГРЫ PAC-MAN
Полнофункциональный клон классической игры Pac-Man. Njam имеет аналогичный игровой процесс как и в классической игры Pac-Man. Помимо этого игра имеет небольшие системные требования, есть режим одиночной игры и мультиплеер, помимо этого можно играть локально или по сети. В Njam более двухсот уровней, очень симпатичная графика и музыкальное оформление, имеется встроенный реактор уровней и поддержка управление…
  2017-08-07 08:53:37 | Категория: Игры
   СХЕМОТЕХНИЧЕСКИЙ РЕДАКТОР GEDA
Проект gEDA создал и продолжает вести работу над набором GPL-инструментов системы автоматизированного проектирования электроники. Эти инструменты используются для проектирования электронных устройств, создания схемотехники, симуляции, создания прототипов и производства. В настоящее время проект gEDA предлагает сложившийся инструментарий проектирования электронных устройств, состоящий из свободных…
  2017-08-04 09:44:56 | Категория: Разное
   Armagetron Advanced — трехмерная игра для Linux по мотивам фильма Tron
Armagetron Advanced — трехмерная игра для Linux по мотивам фильма Tron. Управляя световым мотоциклом, который оставляет за собой след, нужно не врезаться в свой след и след противника. Нужно помешать противнику, ограничить его пространство. Поворачивать можно только под прямым углом. Измените настройки управления мотоциклом на удобные Вам. В игру можно играть одному или через интернет до 4…
  2017-08-02 15:11:52 | Категория: Игры
   Rocks’n’Diamonds — аркадная игра
Rocks’n’Diamonds — представляет собой скроллинг Tile-based логическую компьютерную игру с элементами экшен. Поддерживает уровни из других аналогичных игр, в том числе Boulder Dash, Supaplex, Emerald Mine и Sokoban. Данная игра является свободно распространяемой. Создана компанией Artsoft Entertainment и дизайнером Holger Schemel. Первый релиз вышел в 1995 году. Игра написана на языке C++, использует графическую библиотеку SDL или Xlib(при…
  2017-08-12 20:20:05 | Категория: Игры

Вверх