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

   Меняем время сессии sudo
Команда sudo предоставляет возможность пользователям выполнять команды от имени суперпользователя root, либо других пользователей. По умолчанию сессия sudo длится 15 минут, то есть если не закрывать терминал можно выполнять команды с правами sudo в течении 15 минут не вводя пароля. Спустя 15 минут снова придется вводить пароль.   Для того чтобы изменить время сессии sudo необходимо отредактировать файл sudoers…
  2017-08-03 11:09:55 | Категория:
   Установка ядра 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 | Категория: Система
   Geeqie — компьютерная программа для просмотра изображений
Geeqie — компьютерная программа для просмотра изображений. Важной особенностью программы является функция быстрого просмотра фотографий в формате Raw, а также, совместная работа с такими приложениями как UFRaw (возможность пакетной обработки Raw), GIMP, ImageMagick, gPhoto. Geeqie является свободным программным обеспечением, написанным на языке программирования C, и предназначенным для работы в Linux и других UNIX-подобных…
  2017-08-04 08:39:54 | Категория: Графика
   Удаляем ненужные ядра Linux
Для удаления ненужного ядра, необходимо узнать текущее ядро: uname -a В терминале Вы увидите примерно следующее: Linux liman28-System-Name 3.12.0-4-generic #10-Ubuntu SMP Thu Nov 21 22:11:22 UTC 2013 i686 i686 i686 GNU/Linux Далее необходимо узнать какие ядра установлены: aptitude search linux-image | grep ^i Если пакет aptitude не установлен, то установите его: sudo apt-get install aptitude :~$ aptitude search linux-image | grep ^i i   linux-image-3.11.0-13-generic   - Linux kernel image for version 3.11.0 on 3 i  …
  2017-08-01 15:48:11 | Категория: Команды терминала
   АВТОЗАПУСК ПРИЛОЖЕНИЙ В UBUNTU
Для того чтобы добавить в автозапуск исполняемый файл или приложение необходимо найти программу — Настройка запуска приложений.   Например добавим в автозапуск исполняемый файл Mail.ru Облако, для этого нажмем добавить, заполните имя и нажмите обзор, найдите исполняемый файл.     Теперь после перезагрузки, запустится приложение Mail.ru Облако.   Если Вы хотите добавить уже…
  2017-08-03 14:27:22 | Категория: Ubuntu

Вверх