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

   Klavaro — клавиатурный тренажер
Klavaro — клавиатурный тренажер для Linux — программа, предназначенная для обучения печати на клавиатуре. Ключевые особенности: Интернациональность: ar bg bn ca cs da de el en_GB eo es eu fi fr gl hu hr it kk ky nb nl pa pl pt_BR ru sl sr sv te uk ur vi wo zh_CN (если хотите перевести на ещё один язык, пожалуйста, прочитайте указания по переводу) Готовые к использованию раскладки клавиатуры: "qwerty" (AR; BG; BG_2; BR; BR_abnt2; CZ; EL; EO; ES; EU; HE; IN; IT; JP; KK; NB; PT; SE; TR; UK;…
  2017-08-21 09:51:11 | Категория: Разное
   СОЗДАНИЕ ОБРАЗА CD/DVD-ДИСКА
Для создания образа CD/DVD-диска будем использовать утилиту dd. Команда для создания образа: dd if=/dev/cdrom of=~/cd.iso Указывать CD, DVD или имя файла устройства не нужно, так как ссылка /dev/cdrom подходит для любого типа оптического носителя. Например: dd if=/dev/cdrom of=/home/имя_пользователя/image01.iso Команда будет считывать из устройства данные и записывать в файл image01.iso до тех пор, пока не достигнет окончания устройства. При…
  2017-08-04 14:52:10 | Категория: Команды терминала
   Neverputt — бесплатная трехмерная игра для Linux
Neverputt — бесплатная трехмерная игра для Linux, в игре Вы должны закатить мячик по наклонным платформам в лунку. Игра напоминает гольф и бильярд. В игре хорошая физика, в игре необходимо выбирать направление и силу удара, с каждым новым уровнем сложность игры повышается. В Neverputt могут играть до 4 человек по сети. Игра доступна для Linux, Win2K/XP, FreeBSD и Mac OSX. Официальный сайт игры…
  2017-08-01 12:27:14 | Категория: Игры
   SpaceFM — быстрый и лёгкий графический файловый менеджер
SpaceFM — быстрый, лёгкий и расширяемый плагинами графический файловый менеджер, является модификацией файлового менеджера PCManFM. SpaceFM имеет простой, настраиваемый, мультипанельный, с поддержкой вкладок пользовательский интерфейс и позволяет выполнять все наиболее частые операции над файлами. Особенности SpaceFM: Высоко настраиваемый и легкий Несколько панелей, окон, вкладок Боковые панели Менеджер…
  2017-08-12 09:21:59 | Категория: Система
   HTOP — КОНСОЛЬНЫЙ СИСТЕМНЫЙ МОНИТОР
Htop — основанный на ncursed инструмент просмотра запущенных процессов. Подобен top, но позволяет прокручивать список по вертикали и горизонтали, чтобы увидеть все процессы и их полные командные строки. Управление процессами (остановка, изменение приоритета) может выполняться без ручного ввода их идентификаторов. Утилита Htop доступна в официальном репозитории Ubuntu, поэтому ее можно установить через центр…
  2017-08-08 18:00:51 | Категория: Система

Вверх