Выбрать главу

<?php

if ($a < 5) {

include("file_1.inc");

} else {

include("file_2.inc");

}

?>

function

Объявление функции.

Внутри функции может быть любой верный код PHP, даже объявление другой функции или класса. Функции должны быть объявлены перед тем, как на них ссылаться.

<?php

function foo ($arg_1, $arg_2, ..., $arg_n) {

echo "Пример функции.";

return $retvalue;

}

?>

Возвращение результатов:

<?php

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

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

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

Функции работы с данными

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

Функции округления

abs

Возвращает модуль числа.

Синтаксис:

mixed abs(mixed $number)

Тип параметра $number может быть float или int, а ти п возвращаемого значения всегда совпадает с типом этого параметра.

$x = abs(-4); // $x=4

$x = abs(-7.45); // $x=7.45

round

Округление дробного числа до целого.

Синтаксис:

double round(double $val)

Округляет $val до ближайшего целого и возвращает результат.

$foo = round(3.4); // $foo == 3.0

$foo = round(3.5); // $foo == 4.0

$foo = round(3.6); // $foo == 4.0

$x = round(5.3); // $x=5

$x = round(5.4); // $x=5

$x = round(5.45); // $x=5

$x = round(5.5); // $x=6

ceil

Дополнение дробного числа до следующего целого.

Синтаксис: