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

   SeaMonkey - свободный набор программ для работы в Интернете
SeaMonkey - свободный набор программ для работы в Интернете. SeaMonkey включает в себя веб-браузер, почтовый клиент, адресную книгу, IRC-клиент ChatZilla, HTML-редактор и инструменты для веб-разработчиков (инспектор DOM и отладчик JavaScript). Пользовательский интерфейс построен на языке XUL с использованием CSS, а в качестве языка программирования интерфейса применяется JavaScript. Для установки программы в терминале поочередно…
  2017-10-06 11:18:56 | Категория: Интернет
   UNVANQUISHED — ИГРА, ШУТЕР ОТ ПЕРВОГО ЛИЦА ДЛЯ LINUX UBUNTU
Unvanquished — бесплатная игра, шутер от первого лица для Linux Ubuntu (игра доступна так же для Mac OS и Windows)Действие игры разворачивается в будущем, идет война между людьми и инопланетянами. В игре доступно огромное количество всевозможного оружия. В начале игры необходимо определится за кого Вы будете играть, за людей или инопланетян, так же для игры необходимо подключение к Интернету. Игра Unvanquished создана…
  2017-08-07 20:20:03 | Категория: Игры
   УСТАНОВКА ДРАЙВЕРА SIS671 (XUBUNTU 14.04)
После установки ОС Xubuntu 14.04 возникли проблемы с видеоадаптером sis671 (ноутбук Depo 8510C), но все оказалось не так сложно, удалось получить разрешение экрана 1280×800 60Гц.   Скачайте драйвера drivers   Распакуйте архив cd ~/Загрузки/ unzip ~/Загрузки/drivers.zip Установите драйвера sudo cp ~/Загрузки/sisimedia_drv.la /usr/lib/xorg/modules/drivers/sisimedia_drv.la sudo cp ~/Загрузки/sisimedia_drv.so /usr/lib/xorg/modules/drivers/sisimedia_drv.so  Откройте для…
  2017-08-11 17:58:37 | Категория: Драйвера
   ECORDMYDESKTOP — ПРОГРАММА ПОЗВОЛЯЮЩАЯ ЗАПИСАТЬ НА ВИДЕО ДЕЙСТВИЯ СОВЕРШАЕМЫЕ НА ЭКРАНЕ
RecordMyDesktop — бесплатная утилита с открытым исходным кодом для записи скринкастов*. Используется для записи действий пользователя. Результат сохраняется в формате Ogv. В программе имеются множество настроек, можно записывать весь экран целиком, выделенную область экрана (выбрать область можно с маленького экрана изображения рабочего стола) и записывать только выбранное окно нажав на кнопку «Выбрать…
  2017-08-06 22:34:02 | Категория: Разное
   РАЗБЛОКИРОВКА СВЯЗКИ КЛЮЧЕЙ UBUNTU
Когда Пользователь устанавливает пароль к своему почтовому ящику или пароль для входа на сайт, программа «Пароли и ключи» запоминает вводимые пороли и при обращении к почте или сайту на который необходимо зайти используя логин и пароль постоянно выскакивает окно которое просит ввести пароль для разблокировки связки ключей. После ввода пароля программа не требует ввода пароля до следующей…
  2017-08-06 10:03:22 | Категория: Ubuntu

Вверх