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

   Запускаем сканер mustek1248UB
В Linux Ubuntu как оказалось установить драйвера (прошивку) на сканер mustek1248UB оказалось на много проще чем Windows. Для установки драйвера нам необходим всего один файл SBSfw.usb, его нужно поместить по адресу /usr/share/sane/gt68xx   Создаем папку /usr/share/sane/gt68xx: sudo -i mkdir /usr/share/sane mkdir /usr/share/sane/gt68xx Скачиваем файл в созданную папку: cd /usr/share/sane/gt68xx sudo wget http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/SBSfw.usb Запускаем программу Simple Scan и…
  2017-12-04 14:48:34 | Категория: Драйвера
   Savage 2 — компьютерная игра в жанре фэнтези и научной фантастики
Savage 2 — компьютерная игра в жанре фэнтези и научной фантастики, сочетающая в себе элементы шутера от первого лица, стратегии в реальном времени и action RPG. Savage 2 была официально выпущена 16 января 2008 года. Игра официально бесплатная, с возможностью покупки платных аккаунтов, за $9,99 расширяющих возможности игроков. В Savage 2 люди играют против зверей. Можно играть за командира — тогда игра приобретает вид…
  2017-08-12 10:04:15 | Категория: Игры
   Скачать Edubuntu
Edubuntu 14.04.1 edubuntu-14.04.1-dvd-amd64.iso.torrent edubuntu-14.04.1-dvd-i386.iso.torrent Edubuntu 14.04 (Trusty Tahr) edubuntu-14.04-dvd-amd64.iso.torrent edubuntu-14.04-dvd-i386.iso.torrent Скачать через торрент Edubuntu 13.10 edubuntu-13.10-dvd-amd64.iso.torrent edubuntu-13.10-dvd-i386.iso.torrent Edubuntu 12.04.4 edubuntu-12.04.4-dvd-amd64.iso.torrent edubuntu-12.04.4-dvd-i386.iso.torrent Команда Edubuntu предлагает релиз с долгосрочной поддержкой  — Edubuntu 14.04.1 LTS Edubuntu — это специализированная версия Ubuntu Linux, предназначенная для использования…
  2017-07-30 19:37:28 | Категория: Загрузка
   KidsPainter детский графический редактор
KidsPainter детский графический редактор. Программа рассчитана для детей от 3 до 12 лет. KidsPainter имеет приятный интерфейс, который будет легок и понятен Вашему ребенку. Для рисования доступны мультяшные иконки, а так же  карандаш, кисть, ластик и др. Помимо всего имеется галерея готовых изображений. Рисунок сохраняется в указанный каталог в формате PNG. KidsPainter коммерческое приложение ($29.99), но на сайте можно…
  2017-08-12 09:11:39 | Категория: Графика
   OPENPREF – ЭТО КРОСС-ПЛАТФОРМЕННАЯ РЕАЛИЗАЦИЯ ИЗВЕСТНОЙ ЕВРОПЕЙСКОЙ ИГРЫ «ПРЕФЕРАНС»
OpenPref – это кросс-платформенная реализация известной европейской игры «Преферанс», очень популярной в России. На данный момент реализован вариант «Сочи» против двух виртуальных игроков с возможностью изменения некоторых конвенций. Доступны два альтернативных алгоритма игры компьютера. ПрограммаOpenPref доступна в официальном репозитории Ubuntu, поэтому ее можно установить через центр…
  2017-08-09 21:14:49 | Категория: Игры

Вверх