Математические функции PHP
PHP предоставляет широкий набор математических функций для выполнения вычислений: округление, тригонометрия, логарифмы и случайные числа.
PHP предоставляет широкий набор встроенных математических функций, позволяющих выполнять вычисления без написания базовой логики с нуля. Эти функции работают с числами и типами данных, такими как целые числа и числа с плавающей точкой, и дополняют арифметические операторы (+, -, *, /, %), которые вы уже знаете. В этой статье рассматриваются наиболее часто используемые математические функции PHP — округление, тригонометрия, логарифмы, возведение в степень и случайные числа — с запускаемыми примерами для каждой из них.
Функции округления
Одна из наиболее распространённых математических операций в PHP — округление чисел до определённого количества десятичных знаков. Функция round позволяет округлить число до ближайшего целого или до заданного числа знаков после запятой. Например, следующий код округляет число 3.14159 до двух десятичных знаков:
Пример использования функции round в PHP
Помимо функции round, PHP также предоставляет функции ceil и floor, которые позволяют округлить число вверх или вниз до ближайшего целого. Например:
Пример использования функций ceil и floor в PHP
<?php
$num = 3.14159;
$ceiled = ceil($num);
echo $ceiled;
// Output: 4
echo "\n";
$floored = floor($num);
// Output: 3
echo $floored;
?>Тригонометрические функции
PHP предоставляет несколько тригонометрических функций, в том числе sin, cos и tan, которые позволяют вычислить синус, косинус и тангент угла соответственно. Эти функции полезны для выполнения вычислений, связанных с углами и расстояниями в двумерном и трёхмерном пространстве.
Важно: Все тригонометрические функции PHP принимают углы в радианах. Используйте deg2rad() для преобразования градусов в радианы перед передачей их в эти функции.
Пример использования математических функций deg2rad, sin, cos и tan в PHP
<?php
$angle = deg2rad(30);
echo $angle . "\n";
$sine = sin($angle);
echo $sine . "\n";
// Output: 0.5
$cosine = cos($angle);
echo $cosine . "\n";
// Output: 0.866025
$tangent = tan($angle);
echo $tangent . "\n";
// Output: 0.577350
?>Логарифмические функции
PHP предоставляет несколько логарифмических функций, в том числе log, log10 и exp, которые позволяют выполнять различные логарифмические операции. Функция log вычисляет натуральный логарифм числа, функция log10 — логарифм по основанию 10, а функция exp вычисляет значение экспоненты числа.
Пример использования логарифмических функций в PHP
<?php
$num = 10;
$natural_log = log($num);
print $natural_log . "\n";
// Output: 2.30259
$log10 = log10($num);
print $log10 . "\n";
// Output: 1
$exponential = exp($num);
print $exponential . "\n";
// Output: 22026.465
?>Прочие функции
Помимо рассмотренных выше функций, PHP предоставляет ряд других математических функций для различных целей. Например, функция abs позволяет вычислить абсолютное значение числа, а функция pow — возвести число в степень. Также можно использовать sqrt для вычисления квадратного корня и max/min для нахождения наибольшего или наименьшего значения в наборе.
Пример использования математических функций pow и abs в PHP
<?php
$num = -5;
$absolute = abs($num);
print $absolute . "\n";
// Output: 5
$power = pow(2, 3);
print $power . "\n";
// Output: 8
$square_root = sqrt(16);
print $square_root . "\n";
// Output: 4
$maximum = max(1, 5, 3);
print $maximum . "\n";
// Output: 5
$minimum = min(1, 5, 3);
print $minimum . "\n";
// Output: 1
?>Генерация случайных чисел
Случайные числа часто нужны для токенов, выборки или игр. Используйте rand() (или более быструю и равномерную mt_rand()) для получения случайного целого числа в заданном диапазоне, а random_int() — когда нужны криптографически стойкие значения:
<?php
$dice = rand(1, 6);
echo $dice . "\n";
// Output: a number between 1 and 6, e.g. 4
$secure = random_int(1, 100);
echo $secure . "\n";
// Output: a cryptographically secure number between 1 and 100
?>Примечание: в PHP нет функции
random()— правильные названия:rand(),mt_rand()иrandom_int().
Заключение
В этой статье мы рассмотрели наиболее часто используемые математические функции PHP и то, как они могут применяться для выполнения различных математических операций. Будь то округление чисел, выполнение тригонометрических вычислений или работа с логарифмическими функциями — PHP предоставляет широкий набор инструментов для решения этих задач. С небольшой практикой вы сможете эффективно использовать эти встроенные функции для обработки сложных числовых задач в ваших PHP-приложениях. Для более глубокого изучения смотрите полный справочник по PHP Math и главу о форматировании чисел для отображения.
Таблица быстрого справочника
| Функция | Сигнатура | Тип возврата | Пример |
|---|---|---|---|
round() | round(float $num, int $precision = 0): float | float | round(3.14159, 2) → 3.14 |
ceil() / floor() | ceil(float $num): float / floor(float $num): float | float | ceil(3.14) → 4.0 |
sin() / cos() / tan() | sin(float $num): float (etc.) | float | sin(deg2rad(30)) → 0.5 |
log() / log10() / exp() | log(float $num, float $base = M_E): float (etc.) | float | log(10) → 2.30259 |
abs() | `abs(int | float $num): int | float` |
pow() | pow(float $num, float $exp): float | float | pow(2, 3) → 8.0 |
sqrt() | sqrt(float $num): float | float | sqrt(16) → 4.0 |
max() / min() | max(mixed $value, mixed ...$values): mixed | mixed | max(1, 5, 3) → 5 |
rand() / mt_rand() | rand(int $min, int $max): int | int | rand(1, 6) → e.g. 4 |
random_int() | random_int(int $min, int $max): int | int | random_int(1, 100) → secure int |