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

   STELLARIUM — ПЛАНЕТАРИЙ
Stellarium — это свободный планетарий для Вашего компьютера с открытым исходным кодом. Он отображает реалистичное небо в 3D таким, каким Вы видите его невооружённым глазом, в бинокль или телескоп.  Просто введите свои координаты и исследуйте небо!Некоторые из возможностей:  стандартный звёздный каталог с 600 тысячами звёзд, информация о ярчайших звёздах (спектральный тип, расстояние и др.), загружаемые…
  2017-08-11 17:40:38 | Категория: Разное
   Synfig Studio – создание и редактирование 2D анимаций
Synfig — свободная программа, предназначенная для создания двумерной векторной анимации, созданная Робертом Кватльбаумом при участии Адриана Бентли. Программа способна имитировать мягкое затенение, используя нелинейную градиентную заливку областей, избавляя художника от необходимости затенять каждый кадр по отдельности. Кроме того, в программе есть множество других вычисляемых в реальном времени…
  2017-08-12 22:51:13 | Категория: Графика
   YOUR CURRENT NETWORK HAS A .LOCAL DOMAIN (AVAHI-DAEMON)
В Ubuntu по умолчанию включен автозапуск avahi-daemon, который по идее пытается искать доступные сервисы внутри локальной сети, например сервис общих принтеров или общих файловых папок. При каждой загрузке появляется всплывающее сообщение c следующим содержанием: Network Service Discovery disabled. Your current network has a .local domain, which is not recommended and incompatible with the Avahi network service discovery. The service has been disabled. Отключение сервиса: sudo…
  2017-10-05 22:45:57 | Категория: Система
   Устанавливаем классическое меню приложений в Ubuntu
  В Unity не совсем удобно найти нужное приложений используя меню приложений Dash, но можно установить классическое меню приложений, для этого его надо скачать и установить.   Подключите репозиторий: sudo add-apt-repository ppa:diesch/testing Обновите пакеты: sudo apt-get update Установка меню приложений: sudo apt-get install…
  2018-01-23 22:47:18 | Категория: Ubuntu
   MUSICTUBE — МЕДИАПЛЕЕР ДЛЯ ПРОСЛУШИВАНИЯ МУЗЫКИ С ПРОСМОТРОМ ВИДЕО С YOUTUBE
Musictube — медиаплеер для прослушивания музыки с просмотром видео с YouTube.   Musictube удобный и качественный медиаплеер, он автоматически представляет данные об исполнителе, показывает обложку альбома и данные об альбоме и композиции.   К сожалению медиаплеер платный, но доступна демоверсия на 20 дней.   Установить Musictube можно через «Цент приложений Ubuntu», а так же скачав deb пакет с официального…
  2017-08-11 09:24:37 | Категория: Мультимедиа

Вверх