English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этом руководстве вы узнаете, как выполнять математические операции в PHP.
PHP имеет множество встроенных функций, которые помогают вам выполнять все операции, от простых действий сложения и вычитания до сложных вычислений. Вы ужеОператоры PHPВ этом разделе мы изучили, как выполнять базовые математические операции. Давайте рассмотрим еще один пример:
<?php echo 7 + 3; // вывести: 10 echo '<br>'; echo 7 - 2; // вывести: 5 echo '<br>'; echo 7 * 2; // вывести: 14 echo '<br>'; echo 7 / 2; // вывести: 3.5 echo '<br>'; echo 7 % 2; // вывести: 1 ?>Проверьте, посмотрите <›/›
У каждой математической операции есть определенный приоритет; обычно, умножение и деление выполняются до сложения и вычитания. Однако скобки могут изменить этот приоритет. Независимо от приоритета операций, всегда сначала вычисляется выражение в скобках, как показано в следующем примере:
<?php echo 5 + 4 * 10; // вывести: 45 echo '<br>'; echo (5 + 4) * 10; // вывести: 90 echo '<br>'; echo 5 + 4 * 10 / 2; // вывести: 25 echo '<br>'; echo 8 * 10 / 4 - 2; // вывести: 18 echo '<br>'; echo 8 * 10 / (4 - 2); // вывести: 40 echo '<br>'; echo 8 + 10 / 4 - 2; // вывести: 8.5 echo '<br>'; echo (8 + 10) / (4 - 2); // вывести: 9 ?>Проверьте, посмотрите <›/›
В следующей части мы изучим некоторые встроенные функции PHP, которые наиболее часто используются для выполнения математических операций.
можно найти с помощью функции abs()целое числоиличисло с плавающей запятойабсолютное значение, как показано в следующем примере:
<?php echo abs(5) . "<br>"; // вывести: 5 (integer) echo abs(-5) . "<br>"; // вывести: 5 (integer) echo abs(4.2) . "<br>"; // вывести: 4.2 (double/float) echo abs(-4.2) . "<br>"; // вывести: 4.2 (double/float) ?>Проверьте, посмотрите <›/›
Как вы видите, если число отрицательное, то возвращаемое значение также положительное. Однако, если число положительное, то функция возвращает само число.
Функция ceil() может быть использована для округления чисел до следующего наибольшего целого числа, в то время как функция floor() может быть использована для округления чисел до следующего наименьшего целого числа, как показано в следующем примере:
<?php // округление в верхнюю сторону echo ceil(4.2) . "<br>"; // вывести: 5 echo ceil(9.99) . "<br>"; // вывести: 10 echo ceil(-5.18) . "<br>"; // вывести: -5 // округление в меньшую сторону echo floor(4.2) . "<br>"; // выхождение: 4 echo floor(9.99) . "<br>"; // выхождение: 9 echo floor(-5.18) . "<br>"; // выхождение: -6 ?>Проверьте, посмотрите <›/›
Вы можете использовать функцию sqrt() для поиска квадратного корня положительного числа. Если число отрицательное, то возвращается NAN. Вот пример:
<?php echo sqrt(9) . "<br>"; // выхождение: 3 echo sqrt(25) . "<br>"; // выхождение: 5 echo sqrt(10) . "<br>"; // выхождение: 3.1622776601684 echo sqrt(-16) . "<br>"; // выхождение: NAN ?>Проверьте, посмотрите <›/›
Функция rand() может использоваться для генерации случайных чисел. Вы можете указать диапазон, передавая параметры min и max, как показано в следующем примере:
<?php // генерация некоторых случайных чисел echo rand() . "<br>"; echo rand() . "<br>"; // генерация некоторых случайных чисел между 1 и 10 (включая 1 и 10) echo rand(1, 10) . "<br>"; echo rand(1, 10) . "<br>"; ?>Проверьте, посмотрите <›/›
Если при вызове функции rand() не указаны параметры min и max, то она возвращает псевдослучайное число между 0 и getrandmax(). Функция getrandmax() показывает максимальное случайное значение, на платформе Windows это только 32767. Поэтому, если вам нужно диапазон больше 32767, вы можете просто указать параметры min и max.
Функция decbin() используется для преобразования десятичных чисел в двоичные, а функция bindec() преобразует числа из двоичного в десятичное.
<?php //Convert decimal to binary echo decbin(2) . "<br>"; // выхождение: 10 echo decbin(12) . "<br>"; // выхождение: 1100 echo decbin(100) . "<br>"; // выхождение: 1100100 // Преобразование двоичного в десятичное echo bindec(10) . "<br>"; // выхождение: 2 echo bindec(1100) . "<br>"; // выхождение: 12 echo bindec(1100100); // выхождение: 100 ?>Проверьте, посмотрите <›/›
The dechex() function is used to convert a decimal number to a hexadecimal representation. The hexdec() function is used to convert a hexadecimal string to a decimal number.
<?php // Преобразование десятичного в шестнадцатеричное echo dechex(255) . '<br>'; // Output: ff echo dechex(196) . '<br>'; // Output: c4 echo dechex(0) . '<br>'; // Output: 0 // Преобразование шестнадцатеричного в десятичное echo hexdec('ff') . '<br>'; // Output: 255 echo hexdec('c4') . '<br>'; // Output: 196 echo hexdec(0); // Output: 0 ?>Проверьте, посмотрите <›/›
The decoct() function is used to convert a decimal number to an octal representation. The octdec() function is used to convert an octal number to a decimal number.
<?php // Преобразование десятичного в восьмеричное echo decoct(12) . '<br>'; // Output: 14 echo decoct(256) . '<br>'; // Output: 400 echo decoct(77) . '<br>'; // Output: 115 // Преобразование восьмеричного в десятичное echo octdec('14') . '<br>'; // Output: 12 echo octdec('400') . '<br>'; // Output: 256 echo octdec('115'); // Output: 77 ?>Проверьте, посмотрите <›/›
The base_convert() function can be used to convert a number from one base system to another. For example, you can convert decimal (Base 10))to binary (Base 2)),hexadecimal (Base 16))to octal (Base 8)),octal to hexadecimal, hexadecimal to decimal, and so on.
This function accepts three parameters: the number to be converted, the current base, and the base to be converted to. The basic syntax is as follows:
base_convert(number,frombase,tobase);
frombase and tobase must be between 2 and 36 (inclusive). Numbers with a base greater than 10 will be represented by letters a-z, where a represents 10, b represents 11, and z represents 35. This is a simple example that shows how this function works:
<?php //Convert decimal to binary echo base_convert('12', 10, 2) . "<br>"; // Вывод: 1100 // Преобразование двоичного в десятичное echo base_convert('1100', 2, 10) . "<br>"; // Вывод: 12 // Преобразование десятичного в шестнадцатеричное echo base_convert('10889592', 10, 16) . "<br>"; // Вывод: a62978 // Преобразование шестнадцатеричного в десятичное echo base_convert('a62978', 16, 10) . "<br>"; // Вывод: 10889592 // Преобразование десятичного в восьмеричное echo base_convert('82', 10, 8) . "<br>"; // Вывод: 122 // Преобразование восьмеричного в десятичное echo base_convert('122', 8, 10) . "<br>"; // Вывод: 82 // Преобразование шестнадцатеричного в восьмеричное echo base_convert('c2c6a8', 16, 8) . "<br>"; // Вывод: 60543250 // Преобразование восьмеричного в шестнадцатеричное echo base_convert('60543250', 8, 16) . "<br>"; // Вывод: c2c6a8 // Преобразование восьмеричного в двоичное echo base_convert('42', 8, 2) . "<br>"; // Вывод: 100010 // Преобразование двоичного в восьмеричное echo base_convert('100010', 2, 8) . "<br>"; // Вывод: 42 // Преобразование шестнадцатеричного в двоичное echo base_convert('abc', 16, 2) . "<br>"; // Вывод: 101010111100 // Преобразование двоичного в шестнадцатеричное echo base_convert('101010111100', 2, 16); // Вывод: abc ?>Проверьте, посмотрите <›/›
Внимание:Функция base_convert() всегда возвращает строковое значение. Если возвращаемое значение основано на 10, то полученная строка может быть использована в вычислениях в качестве строкового числа, и PHP преобразует его в число при выполнении вычислений.