Учебная работа. Книга: Учебник php

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Контрольные рефераты

Учебная работа. Книга: Учебник php

Синтаксис языка и операторы

·Выражения

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

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

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

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

·Перевод в различные системы счисления

·Минимум и максимум

·Степенные функции

·Тригонометрия

·Функции повышенной точности BCMath

·Функции GMP

·Функции GMP. значения функции GMP

·Функции GMP. Арифметика

·Функции GMP. Математика

·Функции GMP. Бинарные операции

·Работа с массивами

·Создание массива

·Сортировка массивов

·Курсор массива

·Ключи и значения

·Комплексная замена в строке

·Работа с несколькими массивами

·Получение и удаление части массива

·Вставка/удаление элементов

·Переменные и массивы

·Строковые функции

·Функции для работы с одиночными символами

·Функции отрезания пробелов

·Поиск в тексте

·Функции сравнения

·Форматирование и вывод строк

·Составление/разбиение строк

·Работа с блоками текста

·Функции для преобразования символов

·Функции изменения регистра

·Установка локали (локальных настроек)

·Преобразование кодировок

·Функции форматных преобразований

·Функции URL

·Работа с бинарными данными

·Строковые суммы и хеш-функции

·Символические ссылки. Жесткие ссылки

·Функции даты и времени

·Логические функции определения типа переменной

·Функции переменных

·Функции для работы с функциями

·Календарные функции

Файлы и сети

·Работа с файлами

·Открытие файла

·Закрытие файла

·Чтение и запись

·Положение указателя текущей позиции

·Функции для определения типов файлов

·Определение параметров файла

·Функции для работы с именами файлов

·Функции манипулирования целыми файлами

·Другие функции

·Функции для работы с каталогами

·Манипулирование каталогами

·Работа с записями

·FTP

·Работа с FTP-сервером

·Работа файлами

·Функции IMAP

·Функции SNMP

·Функции Vmailmgr

·Сетевые функции

Управляющие функции

·Отслеживание и обработка ошибок

·Введение

·Функции обработки ошибок

·Установка пользовательского обработчика ошибок

·Управление сессиями

·Зачем нужны сессии.Механизм работы сессий

·Инициализация сессии и регистрация переменных

·Имя группы сессии

·Идентификатор сессии

·Другие функции

·Обзор обработчиков

·Про сессии и Cookies

·Работа с WWW

·Установка заголовков ответа

·Получение заголовков запроса

·Работа с Cookies

·SSI и функция virtual()

·Управление выводом

·Введение

·Функции управления выводом

·Управление исполнением сценария PHP

·Функции управления сценарием

·Статус подключений

·Дополнительные функции

·Почтовые функции

·Функции запуска программ

·Функции динамической загрузки

·Информационные функции

Взаимодействие с базами данных

·База данных MySQL

·Работа с базами данных

·Обработка результатов запроса

Графика

·Работа с изображениями и библиотека GD

·Параметры изображения

·Работа с цветом в формате RGB

·Графические примитивы

·Работа с фиксированными шрифтами

·Работа со шрифтами TrueType

·PDF-документы

·Введение

·Открытие документа

·Работа с текстом

·Установка масштаба и системы координат

·Черчение и заполнение фигур

·Размещение рисунков

·Стиль документа

Выражения

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 ($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-кода
будет виден, если выполнется условие

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 (
;
;
)выражения

— Безусловно выполняется (вычисляется) в начале цикла
— Проверяется в начале каждой итерации. Если оно равно TRUE, то цикл продолжается и выполняются вложенные операторы. Если оно равно FALSE, то цикл заканчивается.
— Выполняется (вычисляется) в конце каждой итерации.
Каждое из этих условий может быть пустым.

Пример 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(
):операторы;…;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);//унаследовано из обычной корзиныФункции округления

abs

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

Синтаксис :

mixed abs(mixed $number)

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

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

round

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

Синтаксис :

double round(double $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)

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

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

floor

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

Синтаксис :

int floor(float $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()

Эта функция возвращает максимальное Обычно это 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 до
(эта константа задает максимально допустимое случайное число, и ее можно получить при помощи вызова mt_getrandmax()
), задайте соответствующий интервал в параметрах
и
. Не забудьте только перед первым вызовом этой функции запустить mt_srand()
.

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

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

Синтаксис :

void mt_srand(int $seed)

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

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

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

mt_getrandmax

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

Синтаксис :

int mt_getrandmax()

Возвращает максимальное число, которое может быть сгенерированно функцией mt_rand() — иными словами, константу

$max = mt_getrandmax();// $max = 2147483647

lcg_value

функция генерирует случайное дробное число.

Синтаксис :

double lcg_value()

Эта функция возвращает псевдослучайное дробное число в диапазоне от 0 до 1.

Перевод в различные системы счисления

base_convert

Конвертация числа из одной системы счисления в другую.

Синтаксис :

string base_convert(string $number, int $frombase, int $tobase)

Переводит число
(заданное как строка в системе счисления по основанию
) в систему по основанию
. Параметры
и
могут принимать значения только от 2 до 36 включительно. В строке
цифры обозначают сами себя, а буква
соответствует 11,
-12, и т.д. до
, которая обозначает 36. например, следующие команды выведут 11111111 (8 единичек), потому что это — не что иное, как
Эта функция форматирует число с плавающей точкой с разделением его на триады с указанной точностью. Она может быть вызвана с двумя или четырьмя аргументами, но не с тремя! Параметр
задает, сколько цифр после запятой должно быть у числа в выходной строке. Параметр $dec_
представляет собой разделитель целой и дробной частей, а параметр
— разделитель триад в числе (если указать на его месте пустую строку, то триады не отделяются друг от друга).

Минимум и максимум

min

Эта функция возвращает наименьшее из чисел, заданных в ее аргументах.

Синтаксис :

mixed min(mixed $arg1 [int $arg2, …, int $argn])

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

$x = min(5,3,4,6,5,6,8,9);// $x = 3$x[0]=4;$x[1]=1;$x[2]=5;$x[3]=2;echo min($x); // выведет 1

max

Получение наибольшего аргумента.

Синтаксис :

mixed max(mixed $arg1 [int $arg2, …, int $argn])

Функция работает аналогично min()
, только ищет максимальное
$x = max(5,3,4,6,5,6,8,9);// $x = 9$x[0]=4;$x[1]=1;$x[2]=5;$x[3]=2;echo max($x); // выведет 5Степенные функции

sqrt

Возвращает квадратный корень из аргумента.

Синтаксис :

float sqrt(float $arg)

Если аргумент отрицателен, то генерируется предупреждение, но работа программы не прекращается!

$x = sqrt(9); // $x = 3echo sqrt(25); // выведет 5echo sqrt(-25); // выведет -1.#IND

log

Возвращает натуральный логарифм аргумента.

Синтаксис :

float log(float $arg)

В случае недопустимого числа печатает предупреждение, но не завершает программу.

$x = log(exp(2)); // exp(2) — e в степени 2 // $x = 2$x = log(M_E); // $x = 1echo log(10); // выведет 2.302585092994

log10

Возвращает десятичный логарифм аргумента.

Синтаксис :

float log10(float $arg)

В случае недопустимого числа печатает предупреждение, но не завершает программу.

echo log10(100); // выведет 2

exp

Возвращает e (2,718281828) в степени
.

Синтаксис
:

float exp(float $arg)

$x = exp(1); // $x = 2.718281828459

pow

Возведение в степень.

Синтаксис :

float pow(float $base, float $exp)

Возвращает
в степени
.

$x = pow(3,2); // $x = 9$x = pow(«3»,2); // $x = 9Тригонометрия

sin

Возвращает синус аргумента.

Синтаксис :

float sin(float $arg)

аргумент задается в радианах.

$x = sin(M_PI_2); // $x = 1

cos

Возвращает косинус аргумента.

Синтаксис :

float cos(float $arg)

$x = cos(0); // $x = 0$x = cos(M_PI); // $x = -1

tan

Возвращает тангенс аргумента, заданного в радианах.

Синтаксис
:

float tan(float $arg)

$x = tan(M_PI_4); // $x = 1

acos

Возвращает арккосинус аргумента.

Синтаксис :

float acos(float $arg)

$x = acos(0); // $x = pi/2$x = acos(1); // $x = 0

asin

Возвращает арксинус.

Синтаксис :

float asin(float $arg)

$x = asin(0); // $x = 0$x = asin(1); // $x = pi/2

atan

Возвращает арктангенс аргумента.

Синтаксис :

float atan(float $arg)

$x = atan(0); // $x = 0$x = atan(1); // $x = pi/4

atan2

Получение арктангенса двух чисел.

Синтаксис :

float atan2(float $y, float $x)

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

$x = atan2(1,1); // $x = pi/4$x = atan2(-1,-1); // $x = -3*pi/4

pi

Возвращает число пи — 3,14.

Синтаксис :

double pi()

Эту функцию обязательно нужно вызывать с парой пустых скобок:

$x = pi()*2 // $x = 31.415926535898Функции повышенной точности BCMath

bcadd

Сложение двух чисел произвольной точности.

Синтаксис :

string bcadd(string left_operand, string right_operand [, int scale]);

Эта функция возвращает строковое количество десятичных знаков после запятой).

bccomp

Сравнение двух чисел произвольной точности.

Синтаксис
:

int bccomp(string left_operand, string right_operand, [int scale]);

Сравниваетчисла (left_operand с right_operand) ивозвращаетрезультаттипа integer (целое). Параметр scale используется для установки количества цифр после десятичной отметки, используемых при сравнении. При равенстве двух частей возвращается части возврашается +1, и если левая часть меньше правой части возвращается -1.

bcdiv

Операция деления для двух чисел произвольной точности.

Синтаксис
:

string bcdiv(string left_operand, string right_operand [, intscale]);

Делит left_operand на right_operand ивозвращаетрезультатсточностью(знаками после запятой), заданной в параметре scale.

bcmod

Возвращает остаток целочисленного деления.

Синтаксис :

string bcmod(left_operand, string modulus);

Данная функция возвращает остаток от целочисленного деления left_operand на modulus.

bcmul

Операция умножения для двух чисел произвольной точности.

Синтаксис :

string bcmul(string left_operand, string right_operand [, int scale]);

Производит умножение left_operand на right_operand, и выдает результат в виде строки с точностью, заданной в переменной scale.

bcpow

Возведение одного числа произвольной точности в степень другого.

Синтаксис :

string bcpow(string x, string y, [int scale]);

Возведение x в степень y. Параметр scale может использоваться для установки количества цифр после точки.

bcscale

Устанавливает точность вычислений.

Синтаксис :

string bcscale(int scale);

Эта функция устанавливает заданную по умолчанию точность вычислений для всех математических функций BCMath, которые явно не определяют точность.

bcsqrt

Получение квадратного корня числа произвольной точности.

Синтаксис :

string bcsqrt(string operand [,int scale]);

Возвращает кваддратный корень аргумента operand. Параметр scale устанавливает количество цифр после десятичной отметки в результате.

bcsub

Вычитает одно число произвольной точности из другого.

Синтаксис :

string bcsub(string left_operand, right_operand [, int scale]);

Возвращает разность двух переменных, указанных в параметрах функции (left_operand — right_operand) с точностью, указанной в необязательном параметре scale.

Функции GMP

Функции этого вида позволяют работать с целыми числами повышенной точности определенного формата используя библиотеку GNU MP.
Эта библиотека не входит в стандартный пакет PHP. Загрузить коды библиотеки и документацию по ней можно на сайте HTTP://www.swox.com/gmp/.

Функции, приведенные в этой библиотеке, могут также работать с обычными целочисленными аргументами. В этом случае они будут автоматически преобразовываться в формат GMP. Но для увеличения производительности рекомендуется все же использовать числа формата GMP.

Функции GMP. значения функции GMP

gmp_init

Создает число GMP.

Синтаксис :

resource gmp_init(mixed number)

Число GMP создается из целочисленного или строкового аргумента.
В строке может быть указано число десятеричного или шестнадцатеричного формата. Если это шестнадцатеричный формат, то перед числом должен стоять префикс 0x.

$x = gmp_init(45);$y = gmp_init(«46»);$z = gmp_init(«0xfa4b»);

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

gmp_intval

Преобразование GMP-числа в целое.

Синтаксис :

int gmp_intval(resource gmpnumber)

Эта функция конвертирует GMP-число в целое в том случае, если получаемое число не превышает своего максимально допустимого размера.

gmp_strval

Преобразование GMP-числа в строку.

Синтаксис :

string gmp_strval(resource gmpnumber [, int base])

Функция возвращает число gmpnumber в строковом формате в системе счисления, заданной в необязательном параметре base. По умолчанию возвращает в десятичной системе счисления).
Параметр base может принимать значения от 2 до 36.

$x = gmp_init(«0xf1a5»);echo «Вдесятичной : «.gmp_strval($x);echo «В base-36: «.gmp_strval($x,36);

gmp_abs

Вычисляет модуль GMP-числа.

Синтаксис :

resource gmp_abs(resourse x)

Возвращает абсолютное

gmp_sign

Возвращает знак числа.

Синтаксис :

int gmp_sign(resource x)

Функция gmp_sign() возвратит 1, если x — положительное число, и 0 — если отрицателоное.

gmp_neg

Возвращает отрицательное
Синтаксис
:

recource gmp_neg(resource x)

Возвратит -x.

Функции GMP. Арифметика

gmp_add

Сложение двух чисел.

Синтаксис :

recource gmp_add(resource x, recource y)

Функция возвратит GMP-число, равное сумме аргументов x и y.

gmp_sub

Вычитание двух чисел.

Синтаксис :

recource gmp_sub(resource x, recource y)

Функция возвратит GMP-число, равное разности аргументов x и y.

gmp_mul

Умножение двух чисел.

Синтаксис :

recource gmp_mul(resource x, recource y)

Функция возвратит GMP-число, равное произведению аргументов x и y.

gmp_div

Деление двух чисел.

Синтаксис :

recource gmp_div(resource x, recource y [, int round])

Функция возвратит GMP-число, равное делению аргументов x на y. В зависимости от необязательного параметра round, результат деления будет округляться следующим образом:

· GMP_ROUND_ZERO — цифры после точки отбрасываются

· GMP_ROUND_PLUSINF — результат деления округляется в большую сторону

· GMP_ROUND_MINUSINF — результат деления округляется в меньшую сторону

Эта функция — синоним gmp_div_q().

gmp_div_q

Деление двух чисел.

Синтаксис :

recource gmp_div_q(resource x, recource y [, int round])

Функция возвратит GMP-число, равное делению аргументов x на y. В зависимости от необязательного параметра round, результат деления будет округляться следующим образом:

· GMP_ROUND_ZERO — цифры после точки отбрасываются

· GMP_ROUND_PLUSINF — результат деления округляется в большую сторону

· GMP_ROUND_MINUSINF — результат деления округляется в меньшую сторону

У этой функции есть синоним — gmp_div().

gmp_div_r

Возвращате остаток от целочисленного деления.

Синтаксис :

recource gmp_div_r(resource x, recource y [, int round])

Функция возвращает остаток от деления x на y. знак будет наследован от аргумента x.

gmp_div_qr

Производит деление с остатком.

Синтаксис :

array gmp_div_qr(resource x, recource y [, int round])

Данная функция комбинирует в себе действие двух предыдущих функций gmp_div_q() и gmp_div_r(). Она возвращает массив, состоящий из двух элементов: под индексом [0] — целое частное, под индексом [1] — остаток деления.

$x=gmp_init(«0xf3c3b5»);$result=gmp_div_qr($x, «0xb1»);echo «Целое: «.gmp[strval($result[0]);echo «Остаток: «.gmp[strval($result[1]);

gmp_mod

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

Синтаксис :

resource gmp_mod(resource x, recource y)

Данная функция эквивалентна gmp_div_r(), за исключением того, что она возвращает абсолютное

gmp_divexact

Производит безостаточное деление.

Синтаксис :

resource gmp_divexact(resource x, recource y)

Данная функция использует алгоритм «точного» деления. Результат будет достоверным, только если x будет нацело делим y.

gmp_cmp

Производит сравнение двух чисел.

Синтаксис :

int gmp_cmp(resource x, recource y)

Функция возвратит положительное
Функции GMP. Математика

gmp_fact

Вычисляет факториал.

Синтаксис :

resource gmp_fact(resourse x)

Возвращает факториал числа, заданного в параметре x.

gmp_sqrt

Вычисляет квадратный корень.

Синтаксис :

resource gmp_sqrt(resourse x)

Возвращает квадратный корень числа, заданного в параметре x.

gmp_sqrtrm

Вычисляет квадратный корень с остатком.

Синтаксис :

array gmp_sqrtrm(resourse x)

Данная функция возвращает массив, в котором элемент с индексом [0] — это квадратный корень аргумента, элемент с индексом [1] — разность между аргументом и элементом [0] в квадрате.

gmp_perfect_square

Определяет, является ли число полным квадратом.

Синтаксис :

bool gmp_perfect_square(resourse x)

Функция gmp_perfect_square() возвратит true, если x является квадратом целого числа. В противном случае вернет false.

gmp_pow

Возведение в степень.

Синтаксис :

resource gmp_pow(resourse x, int y)

Эта функция возвращает результат, равный возведения аргумента x в степень y, при условии, что y не отрицательный.

echo gmp_pow(2,3); // Выведет 8echo gmp_pow(0,0); // Выведет 1

gmp_powm

Возвращает остаток деления степени числа.

Синтаксис :

resource gmp_powm(resourse x, resource y, resource mod)

Возвращает остаток от деления (x в степени y) на mod, в случае, если y положетелен.

gmp_prob_prime

Проверка «вероятно» простого числа.

Синтаксис :

int gmp_prob_prime(resourse x [, int reps])

Эта функция возвратит 0, в случае если x сложное число, т.е. имеющее более двух целых делителей. Возвратит 1, если x, возможно, простое число. Если возвращает 2, то тогда x — наверняка простое число.
аргумент reps определяет качество проверки. Чем большее это число, тем точнее результат. Может принимать занчения от 5 до 10 (по умолчанию).

Эта функция использует алгоритм вероятностного теста Миллера-Рабина.

gmp_gcd

Находит наибольший общий делитель.

Синтаксис :

resource gmp_gcd(resourse x, resource y)

Всегда возвращает положительный результат.

gmp_gcdext

Нахождение наибольшего общего делителя со множителями.

Синтаксис :

array gmp_gcdext(resourse x, resource y)

Функция gmp_gcdext() возвращает массив со значениями g,s,t, такими, что x*s+y*t=g=НОД(x,y), гдн НОД — наибольший общий делитель.

gmp_invert

Производит инверсию по модулю.

Синтаксис :

resource gmp_invert(resourse x, resource y)

Функция возвращает дополнение x до значения, делящегося нацело на y.Вслучае, если результат не может быть найден, возвращает false.

gmp_legendre

Возвращает число Легранжа.

Синтаксис :

int gmp_legendre(resourse x, resource p)

Функция возвращает число Легранжа. p должен быть четным положительным.

gmp_jacobi

Возвращает число Якоби.

Синтаксис :

int gmp_jacobi(resourse x, resource p)

Функция возвращает число Якоби. p должен быть четным положительным.

gmp_random

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

Синтаксис :

resource gmp_random(int limited)

limited задает длину генерируемого числа. В случае, если значение limited отрицательно, генерируется отрицательное число.

gmp_popcount

Получение популяции.

Синтаксис :

int gmp_popcount(resource x)

Функция возвращает числитель популяции.

gmp_hamdist

Вычисление дистанции.

Синтаксис :

int gmp_hamdist(resource x, resource y)

Функция возвращает дистанцию между числами x и y. Аргументы x и y должны быть неотрицательными.

Функции GMP. Бинарные операции

gmp_and

Логическое И (AND).

Синтаксис
:

resource gmp_and(resource x, resource y)

gmp_or

Логическое ИЛИ (OR).

Синтаксис
:

resource gmp_or(resource x, resource y)

gmp_xor

Логическое исключающее-ИЛИ (XOR).

Синтаксис
:

resource gmp_xor(resource x, resource y)

gmp_setbin

установка бита.

Синтаксис :

resource gmp_setbin(resource &x, int index [, bool set_clear])

Устанавливает бит в позиции index в числе x. Аргумент set_clear указывает, в какое

gmp_clrbit

Производит сброс бита.

Синтаксис :

resource gmp_clrbit(resource &x, int index)

Устанавливает бит в позиции index в числе x в значение 0.

gmp_scan0

Производит поиск бита 0.

Синтаксис :

0int gmp_scan0(resource x, int start)

Функция gmp_scan0() ищет в числе x бит 0, начиная с позиции start, в сторону увеличения значимости разрядов. Возвращает позицию найденного бита.

gmp_scan1

Производит поиск бита 1.

Синтаксис :

1int gmp_scan1(resource x, int start)

Функция gmp_scan0() ищет в числе x бит 1, начиная с позиции start, в сторону увеличения значимости разрядов. Возвращает позицию найденного бита.

Создание массива

array

Создание и инициализация массива.

Синтаксис :

array array([mixed …])

Функция возвращает созданный массив. Индексы и значения в массиве разделяются оператором =>. Пары index=>value разделяются запятыми, они определяют индекс и Индекс может быть как числовым, так и строковым. В ассоциированных массивах индекс всегда ведет себя как строковой. В случае, если индекс не указан, будет подставляться автоинкремент (на 1 больше), начиная с 0. Если при создании массива были указаны два элемента с одинаковыми индексами, то последний элемент заменяет первый.

$arr=array( // Далее мы создадим двумерный массив»fruit» => array(«a»=>»orange», «b»=>»banan», «c»=>»apple»),// эта запись эквивалентна записи: $arr[«fruit»][«a»]=»orange»; и т.д.»number» => array(1,2,3,4,5,6),// эта запись эквивалентна записи: $arr[«number»][]=1; и т.д.»hotel» => array(«first», 5=>»second», «third»));$arr=array(1, 1, 1, 1, 2=>5, 19, 3=>20);print_r($arr);// Далее распечатка этого массиваArray( [0] => 1 [1] => 1 [2] => 5 [3] => 20 [4] => 19)$arr=array(1 => «Январь», «Февраль», «Март»);print_r($arr);// распечаткаArray([1] => Январь [2] => Февраль [3] => Март)

range

Заполняет список целыми числами.

Синтаксис :

list range(int low, int high)

Функция range()
создает список, заполненный целыми числами от
до
включительно. Ее удобно применять, если мы хотим быстро сгенерировать массив для последующего прохождения по нему циклом forech.

$arr=range(4,9);// теперь $arr = array(4, 5, 6, 7, 8, 9);Сортировка массивов

array_reverse

Расстановка элементов массива в обратном порядке.

Синтаксис :

array array_reverse(array arr);

Функция array_reverse()
возвращает массив, элементы которого следуют в обратном порядке относительно массива, переданного в параметре. При этом связи между ключами и значениями, конечно, не теряются. например, вместо того, чтобы ранжировать массив в обратном порядке при помощи arsort()
, мы можем отсортировать его в прямом порядке, а затем перевернуть:

$A=array(«a»=>»Zero