Установи Linux! Стань свободным!
Онлайн всего: 5 | Посетители: 3 | Боты: 2
Дата 31.03.2026 Время: 16:37
Ваш IP: 216.73.216.57
Загрузка сервера: 1.82
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 (не будет опубликован)
Имя
Комментарий
Введите число с картинки:     
Случайные статьи

   Bouncy the Hungry Rabbit (Приключения голодного кролика) — интересная детская игра 12.10.2014
Bouncy the Hungry Rabbit (Приключения голодного кролика) — интересная детская игра, в ней кролик должен съесть все овощи, но за ним будет следовать фермер пытаясь его поймать. Игра не имеет возрастных ограничений. Все объекты игры упрошенные и простые. Для того, чтобы съесть овощ, нажимайте и удерживайте клавишу E. Если фермер подошел к вам слишком быстро, то можно зарыться в землю (клавиша D)…
  2017-08-01 10:31:22 | Категория: Игры
   GSMARTCONTROL — ИНСТРУМЕНТА ДЛЯ ОПРОСА И КОНТРОЛЯ ДАННЫХ SMART
GSmartControl — графический пользовательский интерфейс к smartctl, инструмента для опроса и контроля данных SMART (технология оценки состояния жёсткого диска встроенной аппаратурой самодиагностики) на современных жёстких дисках. Позволяет следить за данными SMART для определения его здоровья, а также запускать множество тестов.   S.M.A.R.T. производит наблюдение за основными характеристиками накопителя, каждая из…
  2017-08-09 09:10:15 | Категория: Система
   ZAZ — БЕСПЛАТНЫЙ АНАЛОГ ZUMA DELUXE
В Ubuntu игра устанавливается из стандартного репозитория поиск в Центре Приложений по названиюzaz, либо выполнив в окне терминала: sudo apt-get install zaz В игре по хитросплетенному туннелю движутся шарики непрерывной змейкой разного цвета. Задача игрока не дать змейке из шариков достичь выхода из туннеля. Соединив несколько шариков одного цвета Вы их…
  2017-07-30 20:28:28 | Категория: Игры
   BLOB WARS: METAL BLOB SOLID — ДВУХМЕРНАЯ ПЛАТФОРМЕННАЯ ИГРА
Blob Wars: Metal Blob Solid — двухмерная платформенная игра. Она первая из серии Blob Wars. С тех пор как их мир был оккупирован инопланетянами, Блобы ведут непрерывную войну. Но теперь у них есть шанс выиграть войну раз и навсегда. В Войнах Блобов: Цельнометаллические Блобы, вы выступаете в роли бесстрашного агента Боба. Миссия заключается в том, чтобы проникнуть на различные базы противника в мире Блобов и спасти как…
  2017-08-06 21:24:51 | Категория: Игры
   Антивирусный сканер ClamAV
Зачем нужен антивирус для Ubuntu? Ведь вирусов для Ubuntu нет, или почти нет! Да действительно, антивирус для Ubuntu не нужен, но он нужен Windows. Возможно Ваша флешка заражена вирусами и вы ее используете на другом ПК с Windows, или у Вас на диске имеется второй раздел с WIndows. Так же используя wine в папке которой могут быть зараженные windows приложения. И не имея антивирусной программы Вы способствуете распространению…
  2017-08-11 19:27:31 | Категория: Система

Вверх