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

Из всех имеющихся математических функций PHP, рассмотрим наиболее употребляемые из них:

Математические константы PHP

В РНР имеется множество предопределенных числовых констант, которые используются в инженерных и научных расчетах.

Имя константы Значение Описание
M_PI 3,14159265358979323846 Число
M_E 2,7182818284590452354 e
M_LOG2E 1,4426950408889634074 log2(e)
M_LOG10E 0,43429448190325182765 lg(e)
M_LN2 0,69314718055994530942 ln(2)
M_LN10 2,30258509299404568402 ln(10)
M_PI_2 1,57079632679489661923 /2
M_PI_4 0,78539816339744830962 /4
M_1_PI 0,31830988618379067154 1/
M_2_PI 0,63661977236758134308 2/
M_SQRTPI 1,77245385090551602729 sqrt()
M_2_SQRTPI 1,12837916709551257390 2/sqrt()
M_SQRT2 1,41421356237309504880 sqrt(2)
M_SQRT3 1,73205080756887729352 sqrt(3)
M_SQRT1_2 0,70710678118654752440 1/sqrt(2)
M_LNPI 1,14472988584940017414 ln(p)
M_EULER 0,57721566490153286061 Постоянная Эйлера

Представление чисел в системах счисления

В РНР числа можно представлять в системах с различными основаниями: 10(десятичной), 8(восьмеричной), 2(двоичной). Наиболее привычной для нас является десятичная форма представления чисел от 0 до 9. В компьютерных технологиях часто используются и другие системы: восьмеричная (цифры от 0 до 7), шестнадцатеричная( цифры 0, . . . , 9, а, b, . . . ,f) и двоичная (цифры 0 и 1). Например, десятичное число 17 в восьмеричной представляется как 15, в шестнадцатеричной как b0, а в двоичной как 10001.

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

Пример:

<?php
$a=base_convert("14",10,16); //возвращает е
$a1=base_convert("14",10,8); //возвращает 16
$a2=base_convert("14",10,2); //возвращает 1110
$a3=base_convert("ff",16,10); //возвращает 255
$a4=base_convert("142",2,10); //возвращает 1
echo "$a <br> $a1 <br> $a2 <br> $a3 <br> $a4";
?>

В окне веб-браузера это будет выглядеть ТАК.

Пример:

<?php
$a=dechex(6); //возвращает 6
$a1=dechex(250); //возвращает fa
$a2=dechex(255); //возвращает ff
echo "$a <br> $a1 <br> $a2 ";
?>

В окне веб-браузера это будет выглядеть ТАК.

Пример:

<?php
$a=hexdec("b"); //возвращает 11
$a1=hexdec("fc"); //возвращает 252
$a2=hexdec("cc"); //возвращает 204
echo "$a <br> $a1 <br> $a2 ";
?>

В окне веб-браузера это будет выглядеть ТАК.

Пример:

<?php
$a=decbin(4);//возвращает 100
$a1=decbin(200); //возвращает 11001000
$a2=decbin(255); //возвращает 11111111
echo "$a <br> $a1 <br> $a2 ";
?>

В окне веб-браузера это будет выглядеть ТАК.

Пример:

<?php
$a=bindec(10);//возвращает 2
$a1=bindec(110); //возвращает 6
$a2=bindec(001); //возвращает 1
echo "$a <br> $a1 <br> $a2 ";
?>

В окне веб-браузера это будет выглядеть ТАК.

Пример:

<?php
$a=decoct(9);//возвращает 11
$a1=decoct(57); //возвращает 71
$a2=decoct(355); //возвращает 543
echo "$a <br> $a1 <br> $a2 ";
?>

В окне веб-браузера это будет выглядеть ТАК.

Пример:

<?php
$a=octdec("07");//возвращает 7
$a1=octdec("57"); //возвращает 47
$a2=octdec("355"); //возвращает 237
echo "$a <br> $a1 <br> $a2 ";
?>

В окне веб-браузера это будет выглядеть ТАК.

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

Представления чисел в различных системах счисления, отличных от десятичной, являются строковыми данными. Арифметические операторы для этих данных действуют так, как будто это десятичные числа, независимо от того, принадлежат они к числовому или строковому типу. Иначе говоря, арифметика остается десятичной, независимо от системы счисления операндов.

Пример:

<?php
$a=decbin(4)+decbin(200)+decbin(255);//возвращает 22112211
$a1=dechex(6)+dechex(250)+dechex(255); //возвращает 6
$a2=bindec(001)+bindec(110)+bindec(10); //возвращает 9
echo "$a <br> $a1 <br> $a2 ";
?>

В окне веб-браузера это будет выглядеть ТАК.

Форматирование чисел в PHP

Числа в РНР храняться и выводятся в наиболее эффективном формате. Например, если переменная имеет значение 16.00, оно будет отражено на экране как 16. В приложениях можно отобразить число в некотором определенном формате, например, разделить группы разрядов пробелом, отобразить два знака после разделительной точки для представления денежных сумм и т.д. Мы уже рассматривали функции форматирования строки printf() и sprintf(). А теперь остановимся на функции форматирования чисел:

number_format(число, точность, разделитель1, разделитель2)

Эта функция возвращает строку, содержащую отформатированное число и принимает следующие параметры:

Такким образом, функция number_format() может принимать один, два или четыре параметра, но не три.

Пример:

<?php
$a=number_format(1234567890); //выводит 1,234,567,890
$a1=number_format(1234.567, 3); //выводит 1,234.567
$a2=number_format(1234.567, 3, ",", " "); //выводит 1 234,567
$a3=number_format(1234.567, 3, "рублей", " "); //выводит 1 234р567
echo "$a <br> $a1 <br> $a2 <br> $a3" ;
?>

В окне веб-браузера это будет выглядеть ТАК.

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

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

Внимение! Математические вычисления следует выполнять до форматирования чисел. Не забывайте, что функция форматирования возвращает текстовую строку и применяется для вывода чисел в надлежащем виде.

назадвверхвперед
Rambler's Top100