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

Стандартные функции PHP

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

Основными группами стандартных функций являются:

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

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

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

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

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

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

При описании стандартных функций PHP используется следующий синтаксис:

возвращаемый-тип имя-функции (тип-1 параметр-1, тип-2 параметр-2, …)

где возвращаемый-тип – имя типа для значения, возвращаемого функцией, тип-1, тип-2 и т.д. – типы значений параметров функций, а параметр-1, параметр-2 и т.д. – имена параметров функций. Необязательные параметры заключаются в квадратные скобки. Переменное число параметров одно и того же типа в функции указывается с помощью конструкции имя-типа ….

Если параметр или возвращаемое значение имеют определенный тип, то указывается имя этого типа, например, int или array. Если тип параметра или возвращаемого значения может быть произвольным, то в качестве типа указывается псевдотип mixed. Если функция не возвращает значения, в качестве типа возвращаемого значения указывается тип void. Если функция не требует параметров, то вместо списка параметров в скобках указывается тип void или пустые скобки.

Математические функции PHP можно разделить на следующие категории:

· функции выполнения операций над числами;

· тригонометрические функции и обратные тригонометрические функции;

· гиперболические функции и обратные гиперболические функции;

· функции проверки числовых значений;

· функции перевода чисел из одной системы счисления в другую;

· функции генерации случайных чисел.

Функции выполнения операций над числами включают в себя следующие основные функции:

· number abs(mixed number) – определение модуля (абсолютного значения) числа number;

· float ceil(float value) – определение ближайшего большего целого для числа value;

· float exp(float arg) – определение экспоненты числа arg;

· float floor(float value) – определение ближайшего меньшего целого для числа value;

· float log10(float arg) – определение десятичного логарифма числа arg;

· float log(float arg) – определение натурального логарифма числа arg;

· mixed max(number arg1, number arg2[, number...]) или mixed max(array numbers) – определение аргумента с максимальным значением или элемента массива с максимальным значением;

· mixed min(number arg1, number arg2[, number...]) или mixed min(array numbers) – определение аргумента с минимальным значением или элемента массива с минимальным значением;

· number pow(number base, number exp) – получение степени exp числа base;

· float round(float val[, int precision]) – определяет округленное значение числа val с точностью precision;

· float sqrt (float arg) – определение квадратного корня числа arg.

Пример 4.6.94. Вычисление степени числа:

В следующем фрагменте вводятся два числа – $x и $y, а затем вычисляется и выводится значение $x$y:

echo "\nEnter x: ";

$x = (float)trim(fgets(STDIN));

echo "\nEnter y: ";

$y = (float)trim(fgets(STDIN));

echo "\nx^y=", pow($x, $y);

Вывод этого фрагмента может иметь следующий вид:

Тригонометрические функции и обратные тригонометрические функции в качестве аргумента используют значение float и возвращают значение float.

Тригонометрические функции – это следующие функции: cos (косинус), sin (синус) и tan (тангенс), а обратные тригонометрические функции – это acos (арккосинус), asin (арксинус) и atan (арктангенс).

Гиперболические функции и обратные гиперболические функции также в качестве аргумента используют значение float и возвращают значение float.

К гиперболическим функциям относятся cosh (гиперболический косинус), sinh (гиперболический синус) и tanh (гиперболический тангенс), а к обратным гиперболическим функциям – acosh (обратный гиперболический косинус), asinh (обратный гиперболический синус) и atanh (обратный гиперболический тангенс).

Функции проверки числовых значений определяют, соответствует ли аргумент типа float заданному типу и возвращают значение true, если соответствует и false – если не соответствует. Так, функция is_finite проверяет, является ли число конечным, функция is_infinite – является ли число бесконечным, а функция is_nan – является ли аргумент не числом.

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

· number bindec(string binary_string) – перевод двоичного числа, представленного в виде строки символов, в десятичное число;

· number hexdec(string hex_string) – перевод шестнадцатеричного числа, представленного в виде строки символов, в десятичное число;

· number octdec(string octal_string) – перевод восьмеричного числа, представленного в виде строки символов, в десятичное число;

· string decbin(int number) – возврат строки, содержащей двоичное представление аргумента;

· string dechex(int number) – возврат строки, содержащей шестнадцатеричное представление аргумента;

· string decoct(int number) – возврат строки, содержащей восьмеричное представление аргумента.

Пример 4.6.95. Вывод десятичного числа в различных системах счисления:

В следующем фрагменте программы вводится число – $x, а затем выводится его двоичное, восьмеричное и шестнадцатеричное представление:

echo "\nEnter number x: ";

$x = (int)trim(fgets(STDIN));

echo "\n x binary value: ", decbin($x);

echo "\n x octal value: ", decoct($x);

echo "\n x hex value: ", dechex($x);

Вывод этого фрагмента может иметь следующий вид:

Для генерации случайных чисел используются следующие функции:

· int getrandmax(void) – получение максимально допустимого случайного числа;

· void srand([int seed]) – установка начального значения генератора случайных чисел;

· int rand([int min, int max]) – генерация целого случайного числа, равномерно распределенного в диапазоне от min до max (если значения min и max не заданы, генерируется случайное число в диапазоне от 0 до значения, полученного с помощью функции getrandmax()).

Пример 4.6.96. Генерация случайного числа:

В следующем фрагменте сценария генерируются и выводятся два случайных числа, равномерно распределенные в диапазоне от 0 до 1, с точностью три знака после запятой:

// Установка начального значения

// генератора случайных чисел

srand(5);

// Получение первого случайного числа

// в диапазоне (0-1)

$rand1 = ((double)rand(1, 1000))/1000.0;

// Получение второго случайного числа

// в диапазоне (0-1)

$rand2 = ((double)rand(1, 1000))/1000.0;

// Вывод случайных чисел

print "\n\$rand1=$rand1 \$rand2=$rand2";

В результате выполнения фрагмента будет выведена следующая строка:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: