Перейти к содержимому

Изучение математических функций PHP

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

Функции округления

Одна из самых распространенных математических операций в PHP — округление чисел до определенного знака после запятой. Функция round позволяет округлить число до ближайшего целого или до заданного количества знаков после запятой. Например, следующий код округлит число 3.14159 до двух знаков после запятой:

PHP round function example

php
<?php

$num = 3.14159;
$rounded = round($num, 2);

print $rounded;

// Output: 3.14

?>

Помимо функции round, PHP также предоставляет функции ceil и floor, которые позволяют округлять число вверх или вниз до ближайшего целого. Например:

PHP example of ceil and floor function usage

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() для преобразования градусов в радианы перед передачей значений этим функциям.

PHP example of math functions usage deg2rad, sin, cos and 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 — десятичный логарифм, а функция exp — экспоненциальное значение числа.

PHP example of Logarithmic Functions usage

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 для поиска наибольшего или наименьшего значения в наборе.

PHP example of mathematical function usage pow and 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

?>

Заключение

В этой статье мы рассмотрели некоторые из наиболее часто используемых математических функций PHP и способы их применения для выполнения различных вычислений. Независимо от того, округляете ли вы числа, выполняете тригонометрические расчеты или работаете с логарифмами, PHP предлагает широкий набор функций, которые помогут вам решить поставленную задачу. Немного попрактиковавшись, вы сможете эффективно использовать эти встроенные функции для решения сложных числовых задач в своих PHP-приложениях.

Справочная таблица

ФункцияСигнатураТип возвращаемого значенияПример
round()round(float $num, int $precision = 0): floatfloatround(3.14159, 2)3.14
ceil() / floor()ceil(float $num): float / floor(float $num): floatfloatceil(3.14)4.0
sin() / cos() / tan()sin(float $num): float (etc.)floatsin(deg2rad(30))0.5
log() / log10() / exp()log(float $num, float $base = M_E): float (etc.)floatlog(10)2.30259
abs()`abs(intfloat $num): intfloat`
pow()pow(float $num, float $exp): floatfloatpow(2, 3)8.0
sqrt()sqrt(float $num): floatfloatsqrt(16)4.0
max() / min()max(mixed $value, mixed ...$values): mixedmixedmax(1, 5, 3)5

Практика

Какие из следующих функций используются в PHP для математических операций?

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.