Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Математические функции
Библиотека математических функций PHP реализует методы для тригонометрических вычислений, числовых преобразований и числовых операций. Тригонометрические функции воспринимают параметры в радианах, но существуют функции преобразования градусов в радианы и наоборот.
- abs( ) – абсолютное значение числа.
echo abs(-0.7); // Выводит 0.7
- acos( ) – арккосинус, выраженный в радианах.
echo acos(-0.7); // Выводит 2.3461938234056
- asin( ) – арксинус, выраженный в радианах.
echo asin(-0.7); // Выводит -0.77539749661075
- atan( ) – арктангенс, выраженный в радианах.
echo atan(-0.7); // Выводит -0.61072596438921
- atan2( ) – арктангенс для координат x и y, выраженный
в радианах. Отличие от выражения atan(y/x) состоит в том, что знаки
обоих параметров используются для определения квадранта результата.
echo atan(-0.7/2); // Выводит -0.33667481938673 echo atan2(2, -0.7); // Выводит 1.9074711461816
- base_convert( ) – переводит число из одной системы счисления в
другую. Аргументы: переводимое число, система счисления, из которой переводят,
система счисления, в которую переводят.
echo base_convert(13, 10, 16); // Выводит d
- bindec( ) – десятичный эквивалент двоичной строки. Наибольшее
конвертируемое число содержит 31 разряд, что соответствует 2147483647.
echo bindec(11101011); // Выводит 235
- ceil( ) – округление числа в большую сторону.
echo ceil(2.35); // Выводит 3
- cos( ) – косинус аргумента, выраженного в радианах.
echo cos(2.35); // Выводит -0.70271307677355
- decbin( ) – двоичный эквивалент десятичного числа. Наибольшее
конвертируемое число составляет 2147483647, или 31 разряд.
echo decbin(235); // Выводит 11101011
- dechex( ) – шестнадцаричный эквивалент десятичного числа. Наибольшее
конвертируемое число составляет 2147483647 или 7fffffff в шестнадцаричном
выражении.
echo dechex(235); // Выводит eb
- decoct( ) – восьмеричный эквивалент десятичного числа. Наибольшее
конвертируемое число составляет 2147483647 или 17777777777 в восьмеричном
выражении.
echo decoct(235); // Выводит 353
- deg2rad( ) – преобразует градусы в радианы.
echo deg2rad(90); // Выводит 1.5707963267949
- exp( ) – экспонента числа.
echo exp(1); // Выводит 2.718281828459
- floor( ) – округление числа в меньшую сторону.
echo floor(2.99); // Выводит 2
- fmod(x,y) – остаток от деления x на y.
echo fmod(4.5,2); // Выводит 0.5
- getrandmax( ) – максимальное число, которое может быть получено в
результате вызова функции rand( ).
echo getrandmax( ); // Выводит 32767
- hexdec( ) – десятичный эквивалент шестнадцаричного числа,
представленного строкой. Наибольшее
конвертируемое число составляет 7fffffff или 2147483647 в десятичном выражении.
echo hexdec('eb'); // Выводит 235
- hypot(x,y) – длина гипотенузы прямоугольного треугольника со сторонами x и y.
echo hypot(4,5); // Выводит 6.4031242374328
- is_finite() – проверяет, является ли число допустимым конечным числом на данной платформе.
echo is_finite(2000); // Выводит 1 echo is_finite(log(0)); // Ничего не выводит
- is_infinite() – проверяет, является ли число бесконечным.
echo is_infinite(2000); // Ничего не выводит echo is_infinite(log(0)); // Выводит 1
- is_nan() – проверяет, является ли значение "не-числом".
echo is_nan(200); // Выводит 1 echo is_nan(acos(1.01)); // Ничего не выводит
- lcg_value( ) – псевдослучайное число в диапазоне от 0 до 1.
- log( ) – натуральный логарифм.
echo log(exp(1)); // Выводит 1 echo log(2.718); // Выводит 0.99989631572895
- log10( ) – десятичный логарифм.
echo log(1000); // Выводит 3
- log1p( ) – log(1+x), рассчитанное таким образом, что результат точен, даже когда значение x близко к нулю. Из-за недостатка точности log() в этом случае может вернуть просто log(1).
- max( ) – наибольшее значение из списка параметров. Возможно
сравнение неограниченного кличества значений. В качестве параметра может быть
задан массив.
echo max(12.23, 42.554, 58.234, 34.31); // Выводит 58.234 $a = array(12.23, 42.554, 58.234, 34.31); echo max($a); // Выводит 58.234
- min( ) – наибольшее значение из списка параметров. Возможно
сравнение неограниченного количества значений. В качестве параметра может быть
задан массив.
echo min(12.23, 42.554, 58.234, 34.31); // Выводит 12.23 $a = array(12.23, 42.554, 58.234, 34.31); echo min($a); // Выводит 12.23
- mt_getrandmax( ) – максимальное число, которое может быть получено в
результате вызова функции mt_rand( ).
echo mt_getrandmax( ); // Выводит 2147483647
- mt_rand( ) – случайное число. Для его получения используется генерация случайных чисел по методу Твистера. Необязательные аргументы указывают диапазон допустимых значений. Перед использованием этой функции необходимо установить начальное число с помощью функции mt_srand( ).
- mt_srand( ) – устанавливает начальное число для генератора случайных
чисел в соответствии с заданным параметром. Это позволяет получать различные
результаты при вызове функции mt_rand( ).
mt_srand(9); for ($i = 1; $i <= 10; $i++) echo mt_rand(1, 9)." "; // Выводит 7 3 8 7 1 4 4 9 3 5
- number_format( ) – форматирует число. Аргументы: форматируемое число,
число знаков после запятой, символ, используемый вместо десятичной точки (необязательно),
символ разграничения тысяч (необязательно).
$a = 3456787 * log(2.718); echo number_format($a, 4, ",", "'"); // Выводит 3'456'428,5856
- octdec( ) – десятичный эквивалент восьмеричного числа,
представленного строкой. Наибольшее конвертируемое число составляет
17777777777 или 2147483647 в десятичном выражении.
echo octdec(353); // Выводит 235
- pi( ) – приближенное значение числа π.
echo pi(); // Выводит 3.1415926535898
- pow( ) – возведение в степень. Аргументы: основание и показатель
степени.
echo pow(2, 3); // Выводит 8
- rad2deg( ) – преобразует радианы в градусы.
echo rad2deg(pi()/4); // Выводит 45
- rand( ) – псевдослучайное число.
Необязательные аргументы указывают диапазон допустимых значений.
Если их не задавать, то число выбирается из диапазона от 0 до RAND_MAX.
Перед использованием этой функции
необходимо установить начальное число с помощью функции srand( ).
- round( ) – округление числа до ближайшего целого.
echo round(6.45656); // Выводит 6
- sin( ) – синус аргумента, выраженного в радианах.
echo sin(pi()/2); // Выводит 1
- sqrt( ) – квадратный корень числа.
echo sqrt(121); // Выводит 11
- srand( ) – устанавливает заданное начальное число для генератора
псевдослучайных чисел. Это позволяет получать различные результаты при вызове
функции rand( ).
srand(9); for ($i = 1; $i <= 10; $i++) echo rand(1, 9)." "; // Выводит 9 1 6 2 3 4 6 3 4 6
- tan( ) – тангенс аргумента, выраженного в радианах.
echo tan(pi()/4); // Выводит 1
В языке PHP существуют также функции математических вычислений произвольной точности. Особенностью этих функций является параметр разрядности. Разрядность – количество знаков после десятичной точки в операндах и результате. По умолчанию принимается 0.
- bcadd( ) – сумма первого и второго аргументов. Третий аргумент -
параметр разрядности.
echo bcadd(4.009, 4.009, 2); // Выводит 8
- bccomp( ) – числовое сравнение. Если первый аргумент больше второго,
то возвращается +1. Если первый аргумент меньше второго, то возвращается -1.
Если аргументы равны, то возвращается 0.
echo bccomp(4.001, 4.009, 2); // Выводит 0 echo bccomp(4.01, 4.09, 2); // Выводит -1 echo bccomp(4.09, 4.01, 2); // Выводит 1
- bcdiv( ) – частное от деления первого аргумента на второй.
echo bcdiv(4.001, 2.009, 2); // Выводит 2 echo bcdiv(2.003, 3.009, 2); // Выводит 0.66 echo bcdiv(4.00, 0.005, 2); // Выводит предупреждение о попытке деления на нуль
- bcmod( ) – остаток от деления первого аргумента на второй.
echo bcmod(1525, 3); // Выводит 1 echo bcmod(1525.999, 3); // Выводит 1 echo bcmod(1525.999, 3.123); // Выводит 1
- bcmul( ) – произведение первого и второго аргументов.
Третий аргумент – параметр разрядности.
echo bcmul(2.008, 4.009, 2); // Выводит 8.00
- bcpow( ) – возведение в степень. Аргументы: основание, показатель
степени, параметр разрядности. Показатель степени не должен содержать знаков
после десятичной точки.
echo bcpow(2.005, 3, 2); // Выводит 8.00 echo bcpow(2.25, 3, 2); // Выводит 11.39
- bcscale( ) – значение параметра разрядности, который будет
использоваться по умолчанию.
echo bcpow(2.25, 3); // Выводит 8 echo bcscale(2); echo bcpow(2.25, 3); // Выводит 11.39
- bcsqrt( ) – квадратный корень числа.
echo bcsqrt(121.00, 2); // Выводит 11.00 echo bcsqrt(121.75, 2); // Выводит 11.03
- bcsub( ) – разность. Из первого аргумента вычитается второй.
echo bcsub(4.001, 2.009, 2); // Выводит 2.00 echo bcsub(2.03, 3.09, 2); // Выводит -1.06
.
Прокомментировать/Отблагодарить