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

   Увеличение размера виртуальной памяти для Linux Ubuntu
Иногда при загрузки больших приложений может понадобится дополнительная виртуальная память, получить дополнительную виртуальную память очень легко, причем ниже описанная процедура абсолютно безопасна для системы, так как не затрагивает существующие разделы диска, а создает swap-файл.   Определение размера дополнительной виртуальной памяти: sudo -i пароль dd if=/dev/zero of=/swap bs=1M count=1024 count —…
  2017-08-02 10:30:38 | Категория: Система
   Dlume — простая в использовании адресная книга
Dlume — простая адресная книга на основе gtk2. Вы можете легко добавлять, редактировать и удалять записи в базe данных XML-формата, для каждой записи можно добавить описание. Возможность быстрого поиска позволяет с удобством искать требуемые данные. Также доступен экспорт в CSV и HTML форматы. Интерфейс заимствован из программы Paddress и усовершенствован. Установить программу можно через «Центр приложений…
  2017-08-12 20:53:23 | Категория: Офис
   AUDACITY — ЗВУКОВОЙ РЕДАКТОР ДЛЯ LINUX/UNIX
Audacity — звуковой редактор для Linux/Unix, Windows, MacOS с поддержкой работы с несколькими дорожками одновременно. Его назначение — упрощение записи, проигрывания и редактирования оцифрованного звука. Позволяет анализировать спектр звука, создавать звуковые эффекты, отменять и повторять действия.Поддерживает форматы Ogg Vorbis, MP2, MP3, WAV, AIFF, и AU.Возможности программы: импорт и экспорт файлов WAV, MP3 (с…
  2017-08-04 22:40:51 | Категория: Мультимедиа
   ОФОРМЛЕНИЕ РАБОЧЕЙ СРЕДЫ KDE
KDE Software Compilation — свободная среда рабочего стола и набор программ от проекта KDE. До начала 2010 года была известна как KDE (сокращение от K Desktop Environment). Построена на основе кросс-платформенного инструментария разработки пользовательского интерфейса Qt. Работает преимущественно под UNIX-подобными операционными системами, которые используют графические подсистемы X Window…
  2017-08-02 14:17:32 | Категория: Система
   CutePad - текстовый редактор
CutePad - очень простой, компактный и быстрый текстовый редактор, написанный с использованием C++ и Qt. Особенности текстового редактора: Простой и понятный графический интерфейс. Возможность чтения и записи любого текстового документа. Имеется возможность экспортировать документ в формате PDF. Можно вставлять изображения, таблицы, даты и время. Язык интерфейса английский.  Для установки текстового…
  2017-08-31 08:51:58 | Категория: Офис

Вверх