Выражения
if
Позволяет организовывать выполнение фрагментов кода по условию.
Синтаксис :
if (выражение) statement
Может иметь неограниченную степень вложенности в другие IF.
Позволяет организовывать выполнение фрагментов кода по условию.
Синтаксис :
if (выражение) statement
Может иметь неограниченную степень вложенности в другие IF.
if($a>$b) print "$a больше $b";
if($a>$b){echo "$a больше $b;$b=$a;}
else
Расширяет возможности IF по части обработки вариантов выражения, когда оно равно FALSE.
Выражение ELSE выполняется только если IF равно FALSE.
Расширяет возможности IF по части обработки вариантов выражения, когда оно равно FALSE.
Выражение ELSE выполняется только если IF равно FALSE.
if ($a>$b) { echo "a больше b"; } else { echo "a меньше b"; }
elseif
Является комбинацией IF и ELSE. Позволяет выполнить выражение, если значение IF равно FALSE, но в отличии от ELSE оно выполниться, если выражение ELSEIF равно TRUE.
Является комбинацией IF и ELSE. Позволяет выполнить выражение, если значение IF равно FALSE, но в отличии от ELSE оно выполниться, если выражение ELSEIF равно TRUE.
if ($a>$b) { echo "a больше b"; } elseif ($a==$b) { echo "a равно b"; } else { echo "a меньше b"; }
if_endif
Один из возможных вариантов группирования операторов с оператором IF.
Удобно при внедрении больших блоков HTML-кода внутрь оператора IF.
Один из возможных вариантов группирования операторов с оператором IF.
Удобно при внедрении больших блоков HTML-кода внутрь оператора IF.
if ($a==1): echo "a равно 1"; elseif ($a==2): echo "a равно 2"; else: echo "а не равно 1 и 2"; endif;
<?php if ($a==5):?>A=5<?php endif;?> -Блок HTML-кода A=5 будет виден, если выполнется условие $a==5
while
Простейший тип цикла в PHP. Заставляет PHP выполнять вложенные операторы до тех пор, пока условие равно TRUE. Если условие равно FALSE с самого начала, то цикл не выполнится не разу.
Синтаксис : WHILE(условие)выражения
Можно сгруппировать несколько операторов внутри фигурных скобок или использовать альтернативный синтаксис :
WHILE(условие)выражения... ENDWHILE;
Простейший тип цикла в PHP. Заставляет PHP выполнять вложенные операторы до тех пор, пока условие равно TRUE. Если условие равно FALSE с самого начала, то цикл не выполнится не разу.
Синтаксис : WHILE(условие)выражения
Можно сгруппировать несколько операторов внутри фигурных скобок или использовать альтернативный синтаксис :
WHILE(условие)выражения... ENDWHILE;
$a=1; while ($a<=5) { echo $a++; }
$a=1; while ($a<=5): echo $a; $a++; endwhile;- Эти два примера выводят номера с 1 до 5.
do_while
Цикл, аналогичный WHILE, но значение логического выражения проверяется не до, а после окончания итерации. Основное отличие - то что цикл хоть один раз но выполнится.
Цикл, аналогичный WHILE, но значение логического выражения проверяется не до, а после окончания итерации. Основное отличие - то что цикл хоть один раз но выполнится.
$a=1; do { echo $a; } while ($a>1);Можно прекратить использовать блок операторов в середине путем внедрения оператора BREAK в цикл DO..WHILE(0) :
do { if ($a==5) { echo "A равно 5" break; } $a *= $b; if ($a<$minimum) { break; } echo "A равен $a"; } while(0);
for
Наиболее мощный цикл в PHP.
Синтаксис :
FOR (условие1; условие2; условие3)выражения
условие1 - Безусловно выполняется (вычисляется) в начале цикла
условие2 - Проверяется в начале каждой итерации. Если оно равно TRUE, то цикл продолжается и выполняются вложенные операторы. Если оно равно FALSE, то цикл заканчивается.
условие3 - Выполняется (вычисляется) в конце каждой итерации.
Каждое из этих условий может быть пустым.
FOR(усл1; уcл2; усл3;):операторы;...;ENDFOR;
Наиболее мощный цикл в PHP.
Синтаксис :
FOR (условие1; условие2; условие3)выражения
условие1 - Безусловно выполняется (вычисляется) в начале цикла
условие2 - Проверяется в начале каждой итерации. Если оно равно TRUE, то цикл продолжается и выполняются вложенные операторы. Если оно равно FALSE, то цикл заканчивается.
условие3 - Выполняется (вычисляется) в конце каждой итерации.
Каждое из этих условий может быть пустым.
Пример 1: for ($a = 1; $a <= 5; $a++) { echo $a; } Пример 2: for ($a = 1;;$a++) { if ($a > 5) { break; } echo $a; } Пример 3: $a = 1; for (;;) { if ($a > 5) { break; } print $a; $a++; } Пример 4: for ($a = 1; $a <= 5; print $a, $a++);PHP поддерживает альтернативный синтаксис FOR:
FOR(усл1; уcл2; усл3;):операторы;...;ENDFOR;
break
Прерывает выполнение текущего цикла.
Прерывает выполнение текущего цикла.
Пример : $a = 0; while ($a < 5) { if ($arr[$a] == "stop") { break; } $a++; }
continue
Переходит на начало ближайшего цикла.
Переходит на начало ближайшего цикла.
while (list($key,$value) = each($arr)) { if ($key % 2) { continue; } do_something_odd ($value); }
switch
Сравнивает переменную или выражение с различными значениями и выполняет различные фрагменты кода в зависимости от того, чему будет равно значение выражения.
Сравнивает переменную или выражение с различными значениями и выполняет различные фрагменты кода в зависимости от того, чему будет равно значение выражения.
switch ($a) { case 0: echo "A равно 0"; break; case 1: echo "A равно 1"; break; case 2: echo "A равно 2"; break; default: echo "A не равно 0, 1, 2"; }default - соответствует всем значениям, которые не удовлетворяют другим CASE. CASE - могут быть любого скалярного типа, т.е. целые числа или числа с плавающей запятой и строки.
require
Заменяет себя содержимым указанного файла.
Пример :
require("include.inc");
Но его нельзя поместить внутрь цикла и ожидать, что он включит содержимое другого файла несколько раз в процессе каждой итерации. Для этого есть INCLUDE.
Заменяет себя содержимым указанного файла.
Пример :
require("include.inc");
Но его нельзя поместить внутрь цикла и ожидать, что он включит содержимое другого файла несколько раз в процессе каждой итерации. Для этого есть INCLUDE.
include
Вставляет и выполняет содержимое указанного файла.
Вставляет и выполняет содержимое указанного файла.
$files = array ("first.inc", "second.inc", "third.inc"); for ($a = 0; $a < count($files); $a++) { include($files[$a]); }Так как INCLUDE() это специальный оператор, требуется заключать его в фигурные скобки при использовании внутри условного оператора.
if ($a < 5) { include("file_1.inc"); } else { include("file_2.inc"); }
function
Объявление функции.
Внутри функции может быть любой верный код PHP, даже объявление другой функции или класса. Функции должны быть объявлены перед тем, как на них ссылаться.
Результаты возвращаются через необязательный оператор return.
Возвращаемый результат может быть любого типа, включая списки и объекты.
Информация может быть передана функции через список аргументов, которые являются разделенным запятыми списком переменных и/или констант.
Списки аргументов переменной длины не поддерживаются, но того же можно достичь, передавая массивы.
По умолчанию, аргументы функции передаются по значению. Для изменения аргументов в функции их надо передавать по ссылке.
Для этого надо поставить амперсанд (&) перед именем аргумента в объявлении функции :
Значение по умолчанию должно быть константой, а не переменной или членом класса.
Объявление функции.
Внутри функции может быть любой верный код PHP, даже объявление другой функции или класса. Функции должны быть объявлены перед тем, как на них ссылаться.
function foo ($arg_1, $arg_2,...,$arg_n) { echo "Пример функции."; return $retvalue; }Возвращение результатов :
Результаты возвращаются через необязательный оператор return.
Возвращаемый результат может быть любого типа, включая списки и объекты.
function my_sqrt ($num) { return $num * $num; } echo my_sqrt(4); //выведет 16Множественные результаты не могут быть возвращены в качестве результата, но вы можете реализовать это путем возврата списка :
function foo() { return array (0, 1, 2); } list ($zero, $one, $two) = foo();Аргументы :
Информация может быть передана функции через список аргументов, которые являются разделенным запятыми списком переменных и/или констант.
Списки аргументов переменной длины не поддерживаются, но того же можно достичь, передавая массивы.
function takes_array($input) { echo "$input[0] + $input[1] = ", $input[0]+$input[1]; }Передача по ссылке :
По умолчанию, аргументы функции передаются по значению. Для изменения аргументов в функции их надо передавать по ссылке.
Для этого надо поставить амперсанд (&) перед именем аргумента в объявлении функции :
function foo( &$bar) { $bar .= "и добавочная строка."; } $str = "Это строка, "; foo($str); echo $str; // выведет : "Это строка, и добавочная строка."
function foo($bar) { $bar .= "и добавочная строка."; } $str = "Это строка, "; foo($str); echo $str; //выведет : "Это строка, " foo(&$str); echo $str; //выведет : "Это строка, и добавочная строка."Значения по умолчанию :
Значение по умолчанию должно быть константой, а не переменной или членом класса.
function day ($type = "понедельник") { echo "Сегодня $type."; } echo day(); //выведет : Сегодня понедельник. echo day("вторник"); //выведет : Сегодня вторник.Аргументы по умолчанию при описании должны находиться справо от остальных аргументов.
function day($day_num, $type = "понедельник") { return "Сегодня $day_num - $type."; }
old_function
Оператор OLD_FUNCTION позволяет вам определяить функцию используя синтаксис PHP/FI2 (за исключением того, что вы должны заменить "function" на "old_function").
Это свойство только для совместимости и должно использоваться лишь конверторами PHP/FI2 -> PHP3. Описанные таким образом функции не могут быть вызваны из служебного кода PHP. Вы можете обойти это путем введения специальной функции в терминах PHP3, которая будет вызывать OLD_FUNCTION.
Оператор OLD_FUNCTION позволяет вам определяить функцию используя синтаксис PHP/FI2 (за исключением того, что вы должны заменить "function" на "old_function").
Это свойство только для совместимости и должно использоваться лишь конверторами PHP/FI2 -> PHP3. Описанные таким образом функции не могут быть вызваны из служебного кода PHP. Вы можете обойти это путем введения специальной функции в терминах PHP3, которая будет вызывать OLD_FUNCTION.
class
Набор переменных и функций, работающих с этими переменными.
$cart = new Cart;
$cart->add_item("10", 1);
Классы могут быть расширениями других классов. Расширенный класс обладает всеми переменными и функциями базового класса и тем, что вы определите при расширении класса. Это делается используя ключевое слово extends :
Набор переменных и функций, работающих с этими переменными.
<?php class Cart { var $items; // Количество вещей в корзине покупателя // Добавить $num наименований типа $artnr в корзину function add_item ($artnr, $num) { $this->items[$artnr] += $num; } // Убрать $num наименований $artnr из корзины function remove_item ($artnr, $num) { if ($this->items[$artnr] > $num) { $this->items[$artnr] -= $num; return true; } else { return false; } } } ?>Классы это типы, то есть, заготовки для реальных переменных. Вы должны создавать переменные желаемого типа, используя оператор new :
$cart = new Cart;
$cart->add_item("10", 1);
Классы могут быть расширениями других классов. Расширенный класс обладает всеми переменными и функциями базового класса и тем, что вы определите при расширении класса. Это делается используя ключевое слово extends :
class Named_Cart extends Cart { var $owner; function set_owner ($name) { $this->owner = $name; } }Это определяет класс Named_Cart, который имеет все переменные и функции класса Cart плюс дополнительную переменную $owner и дополнительную функцию set_owner(). Вы можете создать поименованую корзину обычным образом и установить или получить владельца корзины. Также вы можете использовать и нормальные функции корзины в поименованой корзине :
$ncart = new Named_Cart; //Создать корзину $ncart->set_owner ("kris");//Указать владельцаprint $ncart->owner; //Распечатать имя владельца корзины $ncart->add_item ("10", 1);//унаследовано из обычной корзины