Из всех имеющихся математических функций PHP, рассмотрим наиболее употребляемые из них:
abs(число)
— возвращает модуль(абсолютное значение) числа;-
<?php
$a=abs(1.25); //возвращает 1.25
$a1=abs(24.2); //возвращает 24.2
$a2=abs(14.346); //возвращает 14.346
echo "$a <br> $a1 <br> $a2" ;
?> acos(число)
— возвращает арккосинус числа;asin(число)
— возвращает арксинус числа;atan(число
) — возвращает арктангес числа;atan2(x,y)
— возвращает угол в полярных координатах точки;сeil(число)
— округление числа вверх до ближайшего целого;-
<?php
$a=abs(1.25); //возвращает 1.25
$a1=abs(24.2); //возвращает 24.2
$a2=abs(14.346); //возвращает 14.346
echo "$a <br> $a1 <br> $a2" ;
?> cos(число)
— возвращает сосинус числа(число задается в радианах);-
<?php
$a= cos(0); //возвращает 1
echo $a ;
?> exp(число)
— возвращает число е в степени число;-
<?php
$a= exp(0); //возвращает 1
$a1= exp(2); //возвращает 7.38905609893
echo "$a <br> $a1" ;
?> floor(число)
— возвращает округление числа вниз до ближайшего целого;-
<?php
$a=floor(1.25); //возвращает 1
$a1=floor(24.2); //возвращает 24
$a2=floor(0.346); //возвращает 0
echo "$a <br> $a1 <br> $a2" ;
?> ftod(число1, число2)
— возвращает дробный остаток от деления первого числа на второе. Этот остаток определяется как число, удовлетворяющее уравнениючисло1 = i
x число2 + r
, гдеi
— некоторое целое. Остатокr
имеет такой же знак, что ичисло1
.-
<?php
$a=fmod(4,2); //возвращает 0
$a1=fmod(3,2); //возвращает 1
$a2=fmod(8,3); //возвращает 2
echo "$a <br> $a1 <br> $a2" ;
?> log(число)
— возвращает натуральный логарифм числа;-
<?php
$a=log(4); //возвращает 1.38629436112
$a1=log(10); //возвращает 2.30258509299
$a2=log(50); //возвращает 3.91202300543
echo "$a <br> $a1 <br> $a2" ;
?> log10(число)
— возвращает десятичный логарифм числа;-
<?php
$a=log10(4); //возвращает 0.602059991328
$a1=log10(10); //возвращает 1
$a2=log10(50); //возвращает 1.69897000434
echo "$a <br> $a1 <br> $a2" ;
?> max(число1, число2, . . . , числоN)
— возвращает большее из чисел в списке;-
<?php
$a=max(1, 2, 467, 46, 88); //возвращает 467
echo $a ;
?> max(массив_чисел)
— возвращает большее из чисел в массиве;-
<?php
$a= array(1, 2, 467, 46, 88);
echo max($a) ; //возвращает 467
?> min(число1, число2, . . . , числоN)
— возвращает меньшее из чисел в списке;-
<?php
$a=min(1, 2, 467, 46, 88); //возвращает 1
echo $a ;
?> min(массив_чисел)
— возвращает меньшее из чисел в массиве;-
<?php
$a= array(1, 2, 467, 46, 88);
echo min($a) ; //возвращает 1
?> pow(число1, число2)
— возвращаетчисло1
в степеничисло2
;-
<?php
$a=pow(3, 2); //возвращает 9
$a1=pow(4,3); //возвращает 64
$a2=pow(2,4); //возвращает 16
echo "$a <br> $a1 <br> $a2" ;
?> - rand(число1, число2)
- — возвращает случайное число между заданными числами;
-
<?php
$a= rand(1, 88); //возвращает от 1 до 88
echo ($a) ;
?> round(число)
— возвращает округление числа до ближайшего целого;-
<?php
$a=round(0.25); //возвращает 0
$a1=round(3.78); //возвращает 4
$a2=round(34.5); //возвращает 35
echo "$a <br> $a1 <br> $a2" ;
?> sin(число)
— возвращает синус числа;sqrt(число)
— возвращает квадратный корень из числа;-
<?php
$a= sqrt(16); //возвращает 4
$a1=sqrt(144); //возвращает 12
$a2=sqrt(98); //возвращает 9.89949493661
echo "$a <br> $a1 <br> $a2" ;
?> srand(число)
— устанавливает начальное значение генератора случайных чисел в указанное число; если параметр не указан, то начальное число выбирается случайно.tan(число)
— возвращает тангес числа.
Математические константы 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.
Для преобразований чисел из одной системы счисления в другую служат специальные функции.
base_convert(строка1, основание1, основание2)
— преобразует строкустрока1
, содержащую число в системе счисления по основаниюоснование1
, в строку с числом по основаниюоснование2
и возвращает строку, содержащую результат этого преобразования.-
Пример:
<?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";
?> dechex(целое_число)
— возвращает строку, содержащую указанное целое десятичное число, шестнадцатеричном виде.-
Пример:
<?php
$a=dechex(6); //возвращает 6
$a1=dechex(250); //возвращает fa
$a2=dechex(255); //возвращает ff
echo "$a <br> $a1 <br> $a2 ";
?> hexdec(строка)
— возвращает десятичное число, соответствующее указанному в строковом параметре шестнадцатеричному числу.-
Пример:
<?php
$a=hexdec("b"); //возвращает 11
$a1=hexdec("fc"); //возвращает 252
$a2=hexdec("cc"); //возвращает 204
echo "$a <br> $a1 <br> $a2 ";
?> decbin(целое_число)
— возвращает строку, содержащую указанное целое десятичное число, в двоичном виде.-
Пример:
<?php
$a=decbin(4);//возвращает 100
$a1=decbin(200); //возвращает 11001000
$a2=decbin(255); //возвращает 11111111
echo "$a <br> $a1 <br> $a2 ";
?> bindec(строка)
— возвращает десятичное число, соответствующее указанному в строковом параметре двоичному числу.-
Пример:
<?php
$a=bindec(10);//возвращает 2
$a1=bindec(110); //возвращает 6
$a2=bindec(001); //возвращает 1
echo "$a <br> $a1 <br> $a2 ";
?> decoct(целое_число)
— возвращает строку, содержащую указанное целое десятичное число, в восьмеричном виде.-
Пример:
<?php
$a=decoct(9);//возвращает 11
$a1=decoct(57); //возвращает 71
$a2=decoct(355); //возвращает 543
echo "$a <br> $a1 <br> $a2 ";
?> octdec(строка
) — возвращает десятичное число, соответствующее указанному в строковом параметре восьмеричному числу.-
Пример:
<?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)
Эта функция возвращает строку, содержащую отформатированное число и принимает следующие параметры:
число — число(float)
, которое требуется отформатировать; если следующие параметры не используются, то число будет представлено без дробной части(с округлением до ближайшего целого) и запятыми в качестве разделителя групп по три разряда;точность
— целое число, указывающее, сколько знаков в дробной части числа следует показать(по умолчанию 0); этот параметр обязателен, если будут использоваться параметрыразделитель1
иразделитель2
; если указывается меньшее количество знаков, чем есть в числе, то происходит округление в большую сторону;разделитель1
— строка с символом, который используется для разделения целой и дробной частей числа(по умолчанию — точка); этот параметр обязателен, если будет использоваться параметрразделитель2
;разделитель2
— строка с символом, который используется для разделения групп по три разряда в целой части числа(по умолчанию —запятая); этот параметр обязателен, если используетсяразделитель1
.
Такким образом, функция 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" ;
?>
Третий и четвертый параметры могут быть строковыми и состоять из нескольких символов, но в качестве разделителей будут использованы лишь первые символы.
В западной традиции в качестве разделителя целой и дробной частей числа принято использовать точку, а для разделения групп разрядов — запятую. В отечественных документах применяют запятую и пробел соответственно.
Внимение! Математические вычисления следует выполнять до форматирования чисел. Не забывайте, что функция форматирования возвращает текстовую строку и применяется для вывода чисел в надлежащем виде.
Комментарии(0)
Для добавления комментариев надо войти в систему и авторизоватьсяКомментирование статей доступно только для зарегистрированных пользователей:Зарегистрироваться