У цьому уроці ми розглянемо цикли в PHP, а також приклади коду їх використання.
Цикл в PHP – це керуюча конструкція, яка покликана виконувати блок коду кілька разів. Це означає, що вам не потрібно багато разів копіювати і вставляти код в файл, достатньо тільки використовувати правильну інструкцію циклу.
Приклад коду без циклу:
<?php echo " 1 "; echo " 2 "; echo " 3 "; echo " 4 "; echo " 5 "; echo " 6 "; echo " 7 "; ?>
А з циклом for це буде виглядати так:
<?php
for ($i = 1; $i <= 7; $i++){
echo " $i ";
}
?>
Результат (вивід) коду в обох прикладах буде однаковий:
1 2 3 4 5 6 7
Як ви бачите, використання циклу набагато скорочує обсяг коду. Цикли коротші та їх легше розуміти. Крім того, в більшості випадків під час кодування ви не будете знати, скільки разів необхідно виконувати код в блоці.
Тепер давайте подивимося, які є оператори циклу в PHP:
whiledo ... whileforforeach
Ймовірно, це найпростіший цикл в PHP. Його синтаксис досить простий:
while (умова) { // блок коду }
Блок коду буде виконуватися до тих пір, поки умова буде істинною. Реалізація нашого першого прикладу з циклом while буде виглядати так:
<?php
$i = 1;
while ($i <= 7) {
echo " $i ";
$i++;
}
?>
Результат буде точно таким же, як і в попередніх прикладах. Однак, якщо ви встановите для змінної ітератора $i значення 10 ($i = 10), тоді нічого не буде виводитися, оскільки умова не буде виконуватися. А якщо ж ви забудете додати ітератор автоінкременту (збільшення на одиницю після кожної ітерації), це призведе до нескінченного виконання циклу, оскільки умова ніколи не зміниться, і вона завжди буде істинною. Будьте уважні в таких випадках.
Цей варіант циклу дуже схожий на попередній цикл while, але він має одну важливу відмінність. З циклом do while блок коду буде виконаний хоча б один раз. Це пов’язано з тим, що в разі циклу do while PHP перевіряє умову тільки після першої ітерації. Це добре видно з синтаксису:
<?php
do {
//блок коду
} while (умова)
?>
А окрім цього даний цикл не сильно відрізняється від циклу while. Нижче приклад того, як використовувати цикл do while:
<?php
$i = 1;
do {
echo " $i ";
$i++;
} while ($i <= 7)
?>
Цикл for – це найскладніший цикл в PHP, але він також і найбільш часто використовується. У разі використання циклу for ви виконуєте ініціалізацію змінної циклу, робите перевірку умови, а потім оновлюєте змінну циклу і все в одному рядку. Синтаксис циклу for наступний:
<?php
for ( вираз1; умова; вираз2 ) { // блок коду }
?>
Цей синтаксис вимагає трохи більше пояснення.
вираз1 містить частину ініціалізації циклу. Тут ви можете встановити змінну циклу, наприклад, так $i = 1.умова – ця частина містить перевірку певної умови. Ви можете написати тут умову, і вона буде перевірятися перед кожною ітерацією. Це означає, що може трапитися так, що блок коду взагалі не буде виконаний.вираз2 вказується інформація для оновлення змінної циклу.Приклад використання циклу for виглядає так:
<?php
for($i = 1; $i <= 7; $i++) {
echo " $i ";
}
?>
Кожен елемент може бути порожнім або містити кілька виразів, які розділяються комами. Використовуючи цей підхід, наведений вище код можна зробити ще менше. Однак підтримувати такий код буде трохи складніше:
<?php for( $i = 1, $a = 0; $i <= 7; print " $i ", $i++); ?>
Остання структура циклу в PHP – це foreach. Це спеціальний цикл, оскільки його можна використовувати тільки для масивів. Призначення циклу foreach – виконати ітерацію по кожному елементу масиву. Якщо ви спробуєте використовувати його зі звичайною змінною, ви отримаєте помилку.
Синтаксис циклу foreach виглядає так:
<?php
foreach (array as $value) { // блок коду }
?>
Він означає, що при кожній ітерації фактичне значення масиву буде копіюватися в змінну $value, і ви можете використовувати це значення в блоці коду. Отже, розглянемо приклад коду для даного циклу:
<?php
// масив даних
$firstList = array(1, 2, 3, 4, 5, 6, 7);
// перебираємо кожен елемент масиву циклом foreach
foreach ($firstList as $value) {
echo " $value ";
}
?>
Існує альтернативний синтаксис циклу foreach для обробки асоціативних масивів. Ви можете використовувати його, якщо хочете знати не тільки фактичне значення елемента, але й ключ. Синтаксис циклу foreach для асоціативних масивів:
<?php
foreach (array as $key => $value) {
// блок коду
}
?>
В цьому випадку ви можете використовувати обидві інформації (ключ і значення) в своєму блоці коду наступним чином:
<?php
// масив даних
$firstList = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5, 'f' => 6, 'g' => 7);
// перебираємо кожен елемент масиву циклом foreach
foreach ($firstList as $key => $value) {
echo " $key-$value ";
}
?>
WordPress роками був неперевершеним "монолітом": він відповідав і за зручну адмін-панель, і за збереження даних,…
У світі веб-серверів часто говорять про протистояння Nginx vs Apache. Але що, якби я сказав…
Коли я починав свій шлях у веб-розробці, питання "який веб-сервер використовувати?" практично не стояло. Відповідь…
Коли мова заходить про веб-сервери, два імені завжди на слуху: Apache та Nginx. Apache —…
У світі веб-розробки ми постійно стикаємося з проблемою: "А в мене на комп'ютері все працює!".…
На зорі моєї кар'єри веб-розробника все було відносно просто: встановив локальний сервер (пам'ятаєте Denwer?), поклав…