Цикл для роботи з масивами foreach

Ще одна корисна конструкція. Вона з'явилася тільки в PHP4 і призначена винятково для роботи з масивами.

Синтаксис:

foreach ($array as $value) {блок_виконання}

або

foreach ($array as $key => $value) {блок_виконання}

У першому випадку формується цикл по всіх елементах масиву, заданого змінною $array. На кожному кроці циклу значення поточного елемента масиву записується в змінну $value, і внутрішній лічильник масиву пересувається на одиницю (так що на наступному кроці буде видно наступний елемент масиву). Всередині блоку_виконання значення поточного елемента масиву може бути отримане за допомогою змінної $value. Виконання блоку_виконання відбувається стільки разів, скільки елементів у масиві $array.

Друга форма запису на додаток до перерахованого вище на кожному кроці циклу записує ключ поточного елемента масиву в змінну $key, що теж можна використовувати в блоці_виконання.

Коли foreach починає виконання, внутрішній покажчик масиву автоматично встановлюється на перший елемент.

<?php$names = array("Іван","Петро","Семен");foreach ($names as $val) { echo "Привіт, $val <br>"; // виведе усім вітання }foreach ($names as $k => $val) { // крім вітання, // виведемо номера в списку, тобто ключі echo "Привіт, $val! Ти в списку під номером $k <br>"; }?>
7.3. Оператори передачі керування <вверх>

Іноді у випадку особливих обставин потрібно негайно завершити роботу циклу і передати керування першої інструкції програми, розташованої за останньою інструкцією циклу. Для цього використовують оператори break і continue.

Break

Оператор break закінчує виконання поточного циклу, чи то for, foreach, while, do..while або switch. break може використовуватися з числовим аргументом, що дає вказівку, роботу скількох керуючих структур, що містять його, потрібно завершити.

<?php$i=1;while ($i) { $n = rand(1,10); // генеруємо довільне число від 1 до 10 echo "$і:$n "; // виводимо номер ітерації і згенероване число if ($n==5) break; /* Якщо було згенеровано число 5, то припиняємо роботу циклу. У цьому випадкуусе, що знаходиться після цього рядкау середині циклу, не буде виконане */ echo "Цикл працює <br>"; $і++;}echo "<br>Число ітерацій циклу $i ";?>

Результатом роботи цього скрипта буде приблизно наступне:

1:7 Цикл працює 2:2 Цикл працює 3:5 Число ітерацій циклу 3

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: