belarusweb.net
© Петр Романовский Минск, 2016-2017.



belarusweb.net

Основы создания сайтов...
PHP+MySQL >>>
                          Учебник Задачник Справочник

8.4. Математические расширения

Как и в других языках программирования, в PHP имеется как набор математических констант, так и набор стандартных математических функций. Найти их можно в подразделе 'Математические расширения' -> 'Math'. При этом следует помнить, что функции данного подраздела работают только с числами в диапазонах типов integer и float. Если же возникает необходимость в работе с большими числами, следует обращаться к подразделу 'BC Math', содержащему математические функции произвольной точности. Рассмотрим некоторые из математических функций на примере 8.5.

<?php

echo '-------- is_nan() -------- <br><br>';

//is_nan() - проверяет, является ли значение "не числом", тогда true, иначе false  
echo is_nan(sqrt(-1)).'<br><br>'; //Выведет 1, т.е. true


echo '-------- abs() -------- <br><br>';

//abs() - возвращает модуль числа 
echo abs(-4.2).'<br>'; //Выведет -4.2


echo '-------- ceil() -------- <br><br>';

//ceil() - округляет дробь в большую сторону  
echo ceil(2.01).'<br><br>'; //Выведет 3


echo '-------- floor() -------- <br><br>';

//floor() - округляет дробь вниз 
echo floor(3.9).'<br><br>'; //Выведет 3


echo '-------- round() -------- <br><br>';

//round() - округляет дробь
echo round(2.01).'<br>'; //Выведет 2
echo round(3.9).'<br>'; //Выведет 4
echo round(3.546349, 4).'<br>'; //Выведет 3.5463
echo round(3.55, 1).'<br>'; //Выведет 3.6
echo round(3.55, 1, PHP_ROUND_HALF_DOWN).'<br><br>'; //Выведет 3.5 (см. справочник)


echo '-------- sqrt() -------- <br><br>';

//sqrt() - извлекает квадратный корень
echo sqrt(9).'<br>'; //Выведет 3
echo sqrt(-9).'<br><br>'; //Выведет NAN


echo '-------- pow() -------- <br><br>';

//pow() - возведение в степень. Можно также использовать оператор ** 
echo pow(3, 4).'<br>'; //Выведет 81 (можно также 3**4)
echo pow(3, -2).'<br>'; //Выведет 0.11111111111111 (т.е. 1/(3e2))
echo pow(0, 0).'<br>'; //Выведет 1
echo pow(-2, 0).'<br>'; //Выведет 1
echo pow(-2, 3).'<br>'; //Выведет -8 
echo pow(-2, -2).'<br>'; //Выведет 0.25 (т.е. 1/(-2e2))
echo pow(4, 0.5).'<br>'; //Выведет 2 (т.е. sqrt(4))
echo pow(-4, -0.5).'<br><br>'; //Выведет NAN (т.к. 1/[sqrt(-4)]==NAN)


echo '-------- max() -------- <br><br>';

//max() - возвращает наибольшее значение (также см. min())
echo max(0.5, 3, -2).'<br>'; //Выведет 3
echo max('10.5', pow(3,2), abs(-2)).'<br><br>'; //Выведет 10,5


echo '-------- mt_rand() -------- <br><br>';

//mt_rand() - генерирует случайное значение методом 'Вихря Мерсена'  
echo mt_rand(10, 20).'<br><br>'; //Выведет число из отрезка [10,20]


echo '-------- pi() -------- <br><br>';

//pi() - возвращает число Пи, как и константа M_PI
//Смотри также log1p(), log10(), log(), exp(), expm1() 
echo pi().'<br><br>'; //Выведет 3.1415926535898


echo '-------- base_convert() -------- <br><br>';

//base_convert() - переводит число из одной системы счисления в другую
//Может теряться точность представления больших чисел (см. справочник)
echo base_convert('13', 10, 16).'<br>';//Выведет d (см. также статью о переводах чисел)
echo base_convert('13', 10, 2).'<br><br>'; //Выведет 1101 


echo '-------- hexdec() -------- <br><br>';

//hexdec() - переводит число из шестнадцатеричной системы счисления в десятичную 
//dechex() - переводит число из десятичной системы счисления в шестнадцатеричную
//decbin() - переводит число из десятичной системы счисления в двоичную
//bindec() - переводит число из двоичной системы счисления в десятичную
//decoct() - переводит число из десятичной системы счисления в восьмеричную
//octdec() - переводит число из восьмеричной системы счисления в десятичную
echo hexdec('2ED').'<br><br>'; //Выведет 749 (см. также статью о переводах чисел)


echo '-------- deg2rad() -------- <br><br>';

//deg2rad() - преобразует значение из градусов в радианы 
//rad2deg() - преобразует значение из радианов в градусы
echo deg2rad(30).'<br><br>'; //Выведет 0.5235987755983


echo '-------- sin() -------- <br><br>';

//sin() - вычисляет синус. См. также cos(), tan() и др. тригонометрические ф-ции
echo sin(30).'<br>'; //Выведет -0.98803162409286
?>

Пример 8.5. Использование математических функций

Комментарии (0)
Петр Романовский
1. Приветствуются комментарии, которые содержат дополнения к материалу текущей страницы, а также ваши ответы на вопросы других пользователей.
2. Если вам что-то непонятно - спрашивайте, не забывая написать, что именно и с какого места.
Показаны все комментарии
Чтобы оставить свой комментарий, авторизуйтесь, пожалуйста!    
     
belarusweb.net © Петр Романовский, Минск, 2016-2017.
Связаться с автором
Наверх