Урок 5: Циклы

В PHP имеется возможность управлять выполнением скриптов с помощью различных управляющих структур. В этом уроке мы рассмотри циклы. Циклы могут использоваться для повторения частей скриптов указанное число раз или до выполнения определённого условия.

Циклы "while"

Синтаксис цикла документацияwhile таков:


	while (условие) {
		Оператор
	} 
	
	

Этот синтаксис можно перевести непосредственно на нормальный язык: while/пока условие соблюдается, делать что-то.

Рассмотрим простой пример:


	<html>
	<head>
	<title>Циклы</title>

	</head>
	<body>

	<?php

	$x = 1;
	 
	while ($x <= 50) {
	   echo "<p>Этот текст повторяется 50 раз</p>";
	   $x = $x + 1;
	}
	?>

	</body>

	</html>
	
	

В этом примере используется переменная/variable "$x". Как вы могли заметить, имена переменных в РНР всегда начинаются с символа "$". Поначалу это легко забыть, но это абсолютно необходимо запомнить, иначе скрипт не будет работать.

Помимо прочего, пример почти всегда говорит сам за себя. Сначала переменная $x получает значение 1. Затем цикл запрашивает у сервера повторение текста, пока $x не станет меньше или равна 50. При каждом проходе цикла значение переменной $x уменьшается на 1.

Циклы "for"

Другой способ создания цикла - с использованием документацияfor:

	
	for (Инициализация; Условие; Шаг) {
		 Оператор
	}
	
	

Оператор повторяется, пока 'Инициализация' + 'Шаг' удовлетворяют 'Условию'. Если это непонятно, взгляните на пример:


	<html>
	<head>

	<title>Циклы</title>
	</head>
	<body>

	<?php

	for ($x=0; $x<=50; $x=$x+5) {
	   echo '<p>variable $x теперь = ' . $x . '</p>';
	}
	?>

	</body>
	</html>
	
	

В вышеприведённом примере $x увеличивается на 5 при каждом проходе цикла. Цикл продолжается, пока $x меньше или равна 50. Обратите также внимание, как значение $x используется в качестве части этого выражения.

Вот другой пример:


	<html>
	<head>

	<title>Циклы</title>
	</head>
	<body>

	<?php

	for ($ x=1; $x<=6; $x=$x+1) {
	   echo "<h" . $x . ">Уровень заголовка " . $x . "</h" . $x . ">";
	}
	?>

	</body>
	</html>
	
	

Всё ли понятно? Сначала мы устанавливаем $x равной 1. Затем при каждом проходе цикла мы поднимаем уровень заголовка на $x (h1, h2, h3, etc.), пока $x не будет равна 6.

Вложенные циклы

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

Но будьте осторожны! PHP работает медленнее со сложными и большими скриптами. Например, в следующем примере с тремя циклами мы можем записать более  16 миллионов цветов!

Чтобы не замедлять работу страницы, мы должны значительно урезать это число, сделав шаг равным 30 и ограничив количество цветов числом 512.


	<html>

	<head>
	<title>Циклы</title>
	</head>
	<body>

	<?php
 
	for ($intRed=0; $intRed<=255; $intRed=$intRed+30) {

	   for ($intGreen=0; $intGreen<=255; $intGreen=$intGreen+30) {

	      for ($intBlue=0; $intBlue<=255; $intBlue=$intBlue+30) {
	 
		  $StrColor = "rgb(" . $IntRed . "," . $IntGreen . "," . $IntBlue . ")";
		  
		  echo "<span style='color:" . $StrColor . "'>" . $ StrColor . "</span>";
	 
	      }
	   }
	}
	?>

	</body>
	</html>
	
	

В этом примере каждый из трёх основных цветов может (red, green и blue) может иметь значение от 0 до 255. Любое сочетание этих трёх цветов создаёт цвет в форме rgb(255,255,255). Этот код цвета используется как color в тэге <span>.

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



<< Урок 4: Работа с датой и временем

Урок 6: Условия >>