Циклы в PHP

циклы в php

Всем доброго времени суток. На связи Алексей Гулынин. В прошлой статье мы разобрали ссылки в PHP. В данной статье я бы хотел рассказать о различных циклах в PHP. Всего их существует 4 вида:

  • Итерационный цикл for
  • Цикл с предусловием
  • Цикл с постусловием
  • Цикл foreach


Давайте сразу на примерах разберем все циклы. Пусть будет такая задача: необходимо для 10 элементов вывести квадраты числа.
1) Итерационный цикл for:

<?php
for ($i = 1; $i <=10; $i++) {
	echo $i * $i."</br>";
}
?>

В данном цикле можно использовать несколько условий. Пусть необходимо проверить, если элемент равен 6, то больше ничего не выводить (оператор break пока не знаем). Можно написать так:

<?php
for ($i = 1, $j = 1; $i <=10, $j <= 6; $i++, $j++) {
	echo $i * $i."</br>";
}
?>

2) Цикл с предусловием:

<?php
$i = 1;
while ($i <= 10) {
	echo $i * $i."</br>";
	$i++;
}
?>

В данном случае также будут выведены квадраты первых 10 чисел. Данный цикл называется циклом с предусловием, потому что проверка условия идёт в начале, в отличие от следующего цикла.

3) Цикл с постусловием:

<?php
$i = 1;
do {
	echo $i * $i."</br>";
	$i++;
}
while ($i <= 10)
?>

В данном случае проверка условия осуществляется уже после выполнения блока кода, и данный блок кода выполнится 1 раз в любом случае.

4) Цикл foreach. Данный цикл предназначен для перебора значений массива и появился только в четвертой версии языка PHP. Массив — это некоторый набор ключей, каждому из которых соответствует некоторое значение. Более подробно массивы будут разбираться в следующих статьях. Рекомендую подписаться на обновления, чтобы не пропустить.
Синтаксис данного цикла следующий:

foreach (массив as $key=>$value) {
блок операторов
}

$key представляет собой ключ, $value — значение. Данная конструкция не изменяет исходный массив. Чтобы иметь возможность изменять исходный массив, необходимо использовать ссылочный тип:

foreach (массив as $key=>&$value) {
блок операторов
}

Давайте с помощью данного цикла выведем содержимое всех переменных окружения (массив $_SERVER):

<?php
foreach ($_SERVER as $key=>$value) {
echo "<b>$key</b> => <i>$value</i></br>";
}
?>

Обязательно наберите данный пример и посмотрите, как всё работает.

Очень часто возникает ситуация, когда необходимо прервать выполнения цикла. Для этого необходимо использовать конструкцию break. У данной конструкции есть один необязательный параметр. По умолчанию данный параметр равен 1, т.е. мы прерываем выполнение текущего цикла. Давайте разберем такой пример: создадим 2 итерационных цикла от 1 до 5 и, если число будет равно 5, то выведем число. В данном случае, если мы будем использовать просто break, то число 5 будет выведено 5 раз. Если же мы напишем break(2), то только один раз:

<?php
for ($i = 1; $i <= 5; $i++) {
	for ($j = 1; $j <= 5; $j++) {
		if ($j == 5) {
			echo "Число найдено и равно $j </br>";
			break; //запустите скрипт, а затем напишите break(2);
		}
	}
}
?>

Данный оператор удобно использовать для циклов поиска. Как только мы нашли то, что искали — сразу завершаем цикл.

Оператор continue, наоборот, пропускает текущую итерацию цикла и переходит уже к следующей. Также в скобках можно указать уровень вложенности цикла.
Пример не буду приводить, дам домашнее задание на этот оператор:

Для чисел от 1 до 10 необходимо выводить их квадраты. Если квадрат числа равен 9 и 49, то данные числа выводить не нужно.

Остался ещё один вид циклов — это конструкция switch case. Описание данной конструкции и пример есть для языка Javascript и C#, поэтому тут приводить не буду, потому что всё аналогично.

В данной статье вы узнали, что такое циклы в PHP.

На связи был Алексей Гулынин, оставляйте свои комментарии, увидимся в следующих статьях.


Комментарии:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *