Использование циклов в PHP

PHP имеет четыре вида циклов и операторы управления ими, рассмотрим поподробнее.

1

Предназначен для перебора элементов массива.

Foreach – перебор массива

$array = array(
	1 => 'Значение 1',
	2 => 'Значение 2',
	3 => 'Значение 3',
	4 => 'Значение 4',
);

// Вывод ключей
foreach ($array as $key => $val) {
	echo $key . '<br>';
}

// Вывод значений
foreach ($array as $key => $val) {
	echo $val . '<br>';
}
	
PHP

Результат:

1
2
3
4

Значение 1
Значение 2
Значение 3
Значение 4

Альтернативный синтаксис foreach

<?php foreach ($array as $key => $val): ?>
	<?php echo($val); ?>
<?php endforeach; ?>
HTML
2

Цикл работает пока выполняется заданное условие. Обычно применяется в качестве счетчика.

For – цикл с счетчиком

// Счетчик от 0 до 5
for ($n = 0; $n <= 5; $n++) {
	echo $n;
}

// Счетчик от 5 до 0
for ($n = 5; $n >= 0; $n--) {
	echo $n;
}
PHP

Результат:

012345

543210

Альтернативный синтаксис

Им также можно перебирать массивы, у которых не заданы ключи.
$array = array(
	'Значение 1',
	'Значение 2',
	'Значение 3',
	'Значение 4',
);

for ($n = 0; $n < count($array); $n++) {
	echo $array[$n] . '<br>';
}
PHP

Результат:

Значение 1
Значение 2
Значение 3
Значение 4

Альтернативный синтаксис for

<?php for ($n = 0; $n <= 5; $n++): ?>
	<?php echo $n; ?>
<?php endfor; ?>
HTML
3

Т.е. если перед началом итерации условие выполняется, то цикл продолжает свою работу.

While – цикл с предусловием

$n = 0;
while ($n <= 5) {
	echo $n;
	$n++;	
}
PHP

Результат:

012345

Альтернативный синтаксис while

<?php while ($n <= 5): ?>
	<?php 
	echo $n;
	$n++;
	?>
<?php endwhile; ?>
HTML
4

В отличии от while этот цикл проверяет выполнения условия после каждой итерации. Do-while не имеет альтернативного синтаксиса.

Do-while – цикл с постусловием

$n = 0;
do {
	echo $n;
	$n++;
} while ($n <= 5);
PHP

Результат:

012345
5

Break

Вызов break или break 1 в цикле останавливает его.

for ($n = 0; $n <= 5; $n++) {
	if ($n == 3) {
		break;
	}
	echo $n;
}
PHP

Для вложенных циклов используется break 2 и т.д.

for ($n = 0; $n <= 5; $n++) {
	for ($k = 0; $k <= 5; $k++) {
		if ($n == 2 && $k == 2) {
			// Остановить оба цикла
			break 2;
		}
		echo $k;
	}
}
PHP

Continue

Используется для пропуска итерации.

for ($n = 0; $n <= 5; $n++) {
	if ($n == 3) {
		continue;
	}
	echo $n;
}
PHP

Результат:

01245

Для вложенных циклов по аналогии с break 2, break 3continue 2, continue 3.

30.10.2019, обновлено 08.11.2019
37726
Предыдущая запись Работа с Radio Button в JQuery
Следующая запись Как получить текущий URL в PHP?

Комментарии

, чтобы добавить комментарий.

Другие публикации

Работа с массивами PHP – создание, наполнение, удаление
Основные примеры работы с массивами PHP. Создание, наполнение, извлечение удаление значений.
99185
+13
Пример парсинга html-страницы на phpQuery
phpQuery – это удобный HTML парсер взявший за основу селекторы, фильтры и методы jQuery, которые позволяют...
62773
+26
Whois, как получить данные IP-адреса и домена в PHP
Несколько примеров как в PHP получить информацию о домене и IP-адресе.
19491
+5
Генерация паролей в PHP
В PHP есть несколько функций для генерации случайного числа, это rand(), mt_rand() и random_int().
22721
+11
Вывести массив в виде PHP кода
Для вывода массива в виде PHP кода print_r() и var_dump() не подойдут, поэтому поможет функция...
4950
+6
Работа с FTP в PHP
Протокол FTP – предназначен для передачи файлов на удаленный хост. В PHP функции для работы с FTP как правило всегда доступны и не требуется установка дополнительного расширения.
18433
+2