Справочник по PHP

Выражения


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 ($a>$b) {  echo "a больше b";} else {  echo "a меньше b";}

elseif

Является комбинацией 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 ($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;

$a=1;while ($a<=5) {  echo $a++; }$a=1;while ($a<=5):  echo $a;  $a++;endwhile;

- Эти два примера выводят номера с 1 до 5.

do_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 - Выполняется (вычисляется) в конце каждой итерации.

Каждое из этих условий может быть пустым.

Пример 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.

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, даже объявление другой функции или класса. Функции должны быть объявлены перед тем, как на них ссылаться.

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.

class

Набор переменных и функций, работающих с этими переменными.

<?phpclass 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);//унаследовано из обычной корзины

Часть 2. Функции работы с данными

Математические функции


Содержание раздела