Уроки PHP – Цикли

Уроки PHP – Цикли



У цьому уроці ми розглянемо цикли в 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

Тепер давайте подивимося, які є оператори циклу в PHP:

  • цикл while
  • цикл do ... while
  • цикл for
  • цикл foreach

 

 

1. PHP цикл while

Ймовірно, це найпростіший цикл в PHP. Його синтаксис досить простий:

while (умова) { // блок коду }

 

Блок коду буде виконуватися до тих пір, поки умова буде істинною. Реалізація нашого першого прикладу з циклом while буде виглядати так:

<?php
$i = 1;
while ($i <= 7) {
  echo " $i ";
  $i++;
}
?>

 

Результат буде точно таким же, як і в попередніх прикладах. Однак, якщо ви встановите для змінної ітератора $i значення 10 ($i = 10), тоді нічого не буде виводитися, оскільки умова не буде виконуватися. А якщо ж ви забудете додати ітератор автоінкременту (збільшення на одиницю після кожної ітерації), це призведе до нескінченного виконання циклу, оскільки умова ніколи не зміниться, і вона завжди буде істинною. Будьте уважні в таких випадках.



 

 

2. PHP цикл do while

Цей варіант циклу дуже схожий на попередній цикл while, але він має одну важливу відмінність. З циклом do while блок коду буде виконаний хоча б один раз. Це пов’язано з тим, що в разі циклу do while PHP перевіряє умову тільки після першої ітерації. Це добре видно з синтаксису:

<?php
do {
  //блок коду
} while (умова)
?>

 

А окрім цього даний цикл не сильно відрізняється від циклу while. Нижче приклад того, як використовувати цикл do while:

<?php
$i = 1;
do {
  echo " $i ";
  $i++;
} while ($i <= 7)
?>

 

 

3. PHP цикл for

Цикл 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++);
?>

 

 

4. PHP цикл foreach

Остання структура циклу в 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 ";
}
?>

 

 



Напишіть тут свою думку/питання

Ваша пошта не публікуватиметься. Обов’язкові поля позначені *