Php. Лекция 2 Циклы
В РНР реализованы два типа циклов: while и for.
Цикл while бывает двух типов
-
Проверяющий условие перед проходом цикла
while (условие) { блок операторов }
-
Проверяющий условие после прохода цикла
do { блок операторов } while ( условие)
Число итераций цикла for устанавливается перед первым проходом.
for ( начальное знач. счетчика; условие; оператор изменяющий знач. счетчика)
Досрочно завершить выполнение любого цикла можно при помощи оператора break.
Приведенный ниже пример выводит через пробел числовую последовательность от 1 до 10. Для вывода используются циклы разных типов.
$i = 1; while ($i<11) { echo $i." "; $i++; } |
$i = 1; do { echo $i." "; $i++; } while ($i<11); |
for ($i=1;$i<11;$i++) { echo $i." "; } |
Функции пользователя
Функция - это блок кода, который можно однажды определить, а потом вызывать из других частей программы неограниченное количество раз. Обычно функция принимает один или несколько входных параметров, производит определенный набор операций над ними, а затем возвращает результирующее значение.
Функции объявляются с помощью оператора function.
function имя функции(параметры) {тело функции }
Рассмотрим пример, в котором описывается функция, вычисляющая куб числа.
// Начало объявления функции
function cube($num) {
// Возвращает $num в третьей степени
return $num * $num * $num;
}
// Окончание объявления функции
// Вызов функции cube():
echo (cube(6)); // Выводит 216
Имя функции (в данном случае "cube") следует за ключевым словом function, а параметры (если они есть) заключаются в скобки и разделяются запятыми. Затем в фигурных скобках должно располагаться тело функции. Для вызова функции просто указывается ее имя, за которым следует пара скобок, содержащих ее аргументы. В PHP З объявление функции должно находиться в коде выше, чем первое обращения к ней, однако в PHP 4 функцию можно определить в любом месте, вне зависимости от расположения ее первого вызова.
Значение, которое возвращает функция, определяется оператором return в теле функции. При выполнении return действие функции прекращается и выполнение продолжается в строке, из которой вызвана функция, с подстановкой возвращенного значения вместо вызова функции. Функция не обязательно должна возвращать значение
По умолчанию функция получает только значение аргумента. Это означает, что в случае, если функции в качестве параметра передается переменная, то в теле функции будет создана переменная, имеющая аналогичное значение. При этом изменение значения созданной внутри функции переменной не приведет к изменению значения переменной, переданной в качестве входного параметра.
Однако возможен вариант, когда в качестве входного параметра функция получит не значение аргумента, а ссылку на него. В этом случае внутри функции не будет создана дополнительная переменная и изменение значения переданного параметра внутри функции приведет к изменению значения переменной, переданной в качестве параметра. Рассмотрим пример, иллюстрирующий процесс передачи параметров в качестве значения, и в качестве ссылки.
function cube($num) {
$num=$num * $num * $num;
return $num;
}
function cube2(&$num) {
$num=$num * $num * $num;
return $num;
}
$a=2;
echo cube($a); //выводит 8
echo $a; //выводит 2
echo cube2($a); //выводит 8
echo $a; //выводит 8
Область видимости переменной определяет, в каких частях программы она доступна. Для доступа к глобальной переменной из функции используется оператор global.
function changeval1() {
$value="2";
}
function changeval2() {
global $value;
$value="2";
}
$value="1";
changeval1();
echo ("$value"); // Выводит "1"
changeval2();
echo ("$value"); // Выводит "2"
В функции changeval2 переменная $value описана как глобальная. В результате выполнения этой функции значение переменной $value вне функции изменяется.