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

   «Could not start D-Bus. Can you Call qdbus»
При попытке войти в рабочий стол KDE система выдает ошибку «Could not start D-Bus. Can you Call qdbus», как правило это происходит после обновления Kubuntu до версии 13.10. Если у вас есть другие варианты входа, чем KDE, такие как например Ubuntu, Xubuntu или другие среды рабочего стола, то войдите например в Xubuntu и при помощи терминала установите недостающий пакет: sudo apt-get install qdbus После установки пакета,…
  2017-08-02 14:13:40 | Категория: Система
   Ubuntu After Install — быстрая установка программ
Ubuntu After Install — бесплатное приложение которое позволяет установить в один клик наиболее популярные приложения Ubuntu. После установки Ubuntu как правило необходимо установить еще несколько полезных приложений, программа Ubuntu After Install позволяет это сделать быстро и просто, пропадает необходимость искать дополнительные приложения в Центре приложений Ubuntu. Приложение доступно для  Ubuntu версий от 12.04 до…
  2017-08-12 20:13:15 | Категория: Ubuntu
   TORUS TROOPER — СЛОЖНЫЙ И УВЛЕКАТЕЛЬНЫЙ СКРОЛЛ-ШУТЕР
Torus Trooper — динамичная и увлекательная игра, цель которой это на высокой скорости лететь по туннелю на космическом корабле, при этом стреляя во врагов обходя различные препятствия. Управлять космическим кораблем очень просто: клавиши вперед, назад и вправо, влево перемещают корабль по туннелю. Клавиша Z — запуск игры и стрельба. Перед тем как играть нужно выбрать один из трех уровней…
  2017-08-11 13:44:26 | Категория: Игры
   QUPZILLA — БЫСТРЫЙ И БЕЗОПАСНЫЙ ВЕБ-БРАУЗЕР С ОТКРЫТЫМ ИСХОДНЫМ КОДОМ
QupZilla — быстрый и безопасный веб-браузер с открытым исходным кодом, предназначенный для массового пользователя. Он позволяет интеграцию с пользовательским окружением рабочего стола и имеет ряд отличительных особенностей, положительно воспринятых рецензентами. QupZilla распространяется под лицензией GPL v3. Особенности программы Привычный вид QupZilla использует родной стиль элементов управления среды Linux.…
  2017-08-08 19:07:47 | Категория: Интернет
   Антивирусный сканер ClamAV
Зачем нужен антивирус для Ubuntu? Ведь вирусов для Ubuntu нет, или почти нет! Да действительно, антивирус для Ubuntu не нужен, но он нужен Windows. Возможно Ваша флешка заражена вирусами и вы ее используете на другом ПК с Windows, или у Вас на диске имеется второй раздел с WIndows. Так же используя wine в папке которой могут быть зараженные windows приложения. И не имея антивирусной программы Вы способствуете распространению…
  2017-08-11 19:27:31 | Категория: Система

Вверх