Математические функции можно разбить на три категории: функции, выполняющие обычные математические операции, функции, работающие со случайными числами, и специальные функции, предназначенные для обработки чисел произвольной точности.
13.1. Функции, выполняющие обычные математические операции
Функции, которые описываются в этом разделе, выполняют арифметические, геометрические и тригонометрические операции. Большинство этих функций работает с двойными вещественными или целыми числами. Возвращаемое значение имеет такой же тип, что и аргумент функции. Кроме случая вызова специфического типа, термином "число" здесь определяется то, ожидается целый или двойной вещественный результат.
number abs(number value)
Функция abs (листинг 13.1) возвращает абсолютное значение числа, заданного аргументом value. Это само число, если оно положительное, или число, умноженное на минус единицу, если оно отрицательное.

| Листинг 13.1. Функция abs
<?php
//напечатать 13 print(abs(-13));

 ?> 
double acos(double value)

Функция acos (листинг 13.2) возвращает значение арккосинуса значения, заданного аргументом value. Попытка получить значение арккосинуса от значения больше единицы или меньше минус единицы приводит к неопределенности.

| Листинг 13.2. Функции acos, asin, atan и atanh_
<?php
print("<table border="1">n"); print("<tr>" .
"<th>x</th>" . "<th>acos(x)</th>" . "<th>asin(x)</th>" . "<th>atan(x)</th>" . "<th>atanh(x)</th>" .
"</tr>n");
for($index = -1; $index <= 1; $index += 0.25) {
print("<tr>n" .
"<td>$index</td>n" .
"<td>" . acos($index) . "</td>n" .
"<td>" . asin($index) . "</td>n" .
"<td>" . atan($index) . "</td>n" .
"<td>" . atanh($index) . "</td>n" .
"</tr>n");
}
print("</table>n");
?>

double acosh(double value)
Функция acosh (листинг 13.3) дает инвертированный гиперболический косинус от заданного значения.

Листинг 13.3. Функция acosh, asinh

<?php
print("<table border="1">n"); print("<tr>" .
"<th>x</th>" . "<th>acosh(x)</th>" .
"<th>asinh(x)</th>". "</tr>n"); for($index = 1; $index <= 10; $index++)
{
print("<tr>n" .
"<td>$index</td>n" .
"<td>" . acosh($index) . "</td>n"
"<td>" . asinh($index) . "</td>n" "</tr>n");
}
print("</table>n");

 ?> 
double asin(double value)
Функция asin (листинг 13.2) возвращает значение арксинуса от значения, заданного аргументом value. Попытка получить значение арксинуса от значения больше единицы или меньше минус единицы приводит к неопределенности.
double asinh(double value)
Функция asinh (листинг 13.3) дает инвертированный гиперболический синус от заданного значения.
double atan(double value)
Функция atan (листинг 13.2) возвращает значение арктангенса от значения, заданного аргументом value.
double atan2(double x, double y)
Функция atan2 (листинг 13.4) возвращает величину угла в радианах в полярных координатах, полученных из декартовых координат.

j Листинг 13.4. Функция atan2_
<?php
//напечатать 0.40489178628508 print(atan2(3, 7));
?>

double atanh(double value)
Функция atanh дает инвертированный гиперболический тангенс от заданного значения.
string base_convert(string value, int base, int new_base)
Функция base_convert (листинг 13.5) преобразует число из одного основания в другое. Для некоторых общеупотребительных оснований имеются соответствующие функции.

| Листинг 13.5. Функция base_convert_
<?php
//преобразовать шестнадцатеричное значение CC в десятичное print(base_convert("CC", 16, 10));
?>