Книга: Учебник php

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);//???????????? ?? ??????? ???????

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

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
Дополнение дробного числа до следующего целого.

Синтаксис :
int ceil(float $number)

Возвращает наименьшее целое число, не меньше $number . Разумеется, передавать в $number целое число бессмысленно.

$x = ceil(5.0); // $x=5$x = ceil(5.1); // $x=6$x = ceil(5.9); // $x=6

floor
Удаление дробной части числа.

Синтаксис :
int floor(float $number)

Возвращает максимальное целое число, не превосходящее $number .

$x = floor(5.1); // $x=5$x = floor(5.9); // $x=5

Случайные числа

srand
Производит инициализацию генератора случайных чисел.

Синтаксис :
void srand(int seed)

Инициализирует генератор случайных чисел занчением seed.

srand((double) microtime()*1000000);$random = rand();echo $random;

Вот что получиться:

1041755481

getrandmax
Возвращает максимально возможное случайное число.

Синтаксис :
int getrandmax()

Эта функция возвращает максимальное значение, которое можно получить при помощи функции генерации случайных чисел rand().
Обычно это 32767

rand
Производит генерацию случайного числа.

Синтаксис :
int rand([int max [, int min]])

При вызове с необязательными параметрами min и max эта функция генерирует случайное число, лежащее в пределах этих параметров включительно.
Если параметры min и max отсутствуют, возвращается число, лежащее в пределах от 0 до RAND_MAX.
Для корректной работы данной функции перед ее использованием нужно проинициализировать генератор случайных чисел функцией srand().

mt_rand
Функция возвращает MT-случайное число, достаточно равномерно даже для того, чтобы использовать его в криптографии.

Синтаксис :
int mt_rand(int $min=0, int $max=RAND_MAX)

Если вы хотите генерировать числа не от 0 до RAND_MAX (эта константа задает максимально допустимое случайное число, и ее можно получить при помощи вызова mt_getrandmax() ), задайте соответствующий интервал в параметрах $min и $max . Не забудьте только перед первым вызовом этой функции запустить mt_srand() .

mt_srand(time()+(double)microtime()*1000000);$x = mt_rand(1,100); // $x - ???????? ?? 1 ?? 100

mt_srand
Настраивает MT-генератор случайных чисел на новую последовательность.

Синтаксис :
void mt_srand(int $seed)

Дело в том, что хотя числа, генерируемые mt_rand(), достаточно равновероятны, но у них есть один нелостаток: последовательность сгенерированных чисел будет одинакова если сценарий вызывать несколько раз подряд. Функция mt_srand() как раз решает данную проблему: она выбирает новую последовательность на основе параметра $seed , причем практически непредсказуемым образом.

mt_srand(time()+(double)microtime()*1000000);for($i=0;$i<=10;$i++) { $x = mt_rand(1,10);};

В этом случае последовательность устанавливается на основе времени завуска сценария (в секундах), поэтому она достаточно непредсказуема. Для еще более надежного результата рекомендуется приплюсовать сюда еще микросекунды (что и было сделано), а также идентификатор процесса, вызывавшего сценарий.

К-во Просмотров: 626
Бесплатно скачать Книга: Учебник php