Смекни!
smekni.com

Учебник php (стр. 3 из 26)

$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) в степени $arg.

Синтаксис :
float exp(float $arg)

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

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

Синтаксис :
float pow(float $base, float $exp)

Возвращает $base в степени $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)

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

$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]);

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

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

Синтаксис :
int bccomp(string left_operand, string right_operand, [int scale]);

Сравниваетчисла (left_operand с right_operand) ивозвращаетрезультаттипа integer (целое). Параметр scale используется для установки количества цифр после десятичной отметки, используемых при сравнении. При равенстве двух частей возвращается значение 0. Если левая часть больше правой части возврашается +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)

Возвращает абсолютное значение числа, заданного в параметре 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)

Функция возвратит положительное значение, если x > y; ноль, елси x = y; отрицательное значени, если x < y.