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

   Deepin Terminal — эмулятор терминала
Deepin Terminal — эмулятор терминала разработанный командой создавшей дистрибутив Linux Deepin. Отличительной особенность терминала является приятный внешний вид, удобство и расширение возможностей. Deepin Terminal умеет делиться по вертикали или горизонтали, переключать рабочие столы. Так же в этом терминале будет очень полезна функция настройки горячих клавиш. Помимо всего в терминале имеется поиск,…
  2017-08-12 20:39:14 | Категория: Система
   SANDBOX GAME MAKER — 3D КОНСТРУКТОР ОБЪЕМНЫХ МИРОВ
Sandbox Game Maker — 3D конструктор объемных миров. Всего за несколько минут Вы можете создать свой игровой мир. Программа позволяет каждому опытному пользователю создать трехмерную игру любого жанра. Игровое приложение разработано на основе движка Cube 2. Основная информация об редакторе F1 позволяет вызвать меню объектов F2 выбор текстур F3 – изменение текущей (или загрузка новой) карты W, A, S, D —…
  2017-08-11 09:43:53 | Категория: Игры
   Terminator — работа с командной строкой
Terminator — это небольшой проект, представляющий рациональный способ заполнения площади экрана терминалами. Пользователь может иметь множество терминалов в одном окне и использовать клавиатурные сочетания для переключения между ними. Установить программу Terminator можно при помощи «Центра приложений Ubuntu» или воспользоваться терминалом: sudo apt-get install…
  2017-08-12 20:14:44 | Категория: Система
   Cube 2: Sauerbraten — бесплатный трехмерный шутер от первого лица
Cube 2: Sauerbraten —  бесплатный трехмерный шутер от первого лица. Имеется возможность играть как по сети , так и одиночную игру. Геймплей одиночной игры очень похож на Quake. Игра обладает отличной графикой, содержит множество эффектов, игра не требовательна к системным ресурсам. Установка игры для Linux Ubuntu: sudo apt-get install sauerbraten Необходимо скачать 461 MB…
  2017-08-02 15:18:11 | Категория: Игры
   Установка deb пакетов через терминал
Если нужной Вам программы нет в основном репозитории, или у автора программы нет своего репозитория, либо если репозитории недоступны при отсутствии подключения к Интернету, то программу можно установить из deb-пакета.   При установке deb пакета не забудьте ввести пароль, при этом пароль будет оставаться невидимым. sudo dpkg -i ~/deb пакет например sudo dpkg -i /home/имя пользователя/Загрузки/google-earth-stable_current_i386.deb после…
  2017-07-31 20:21:50 | Категория: Команды терминала

Вверх