English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP Основной курс

Давайте再看一个实例:

PHP & MySQL

PHP Референсная книга

Математические операторы PHP

В этом руководстве вы узнаете, как выполнять математические операции в 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
?>
Проверьте, посмотрите <›/›

Decimal numbers and hexadecimal numbers can be converted to each other

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
?>
Проверьте, посмотрите <›/›

Decimal numbers and octal numbers can be converted to each other

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
?>
Проверьте, посмотрите <›/›

Convert a number from one base system to another

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 преобразует его в число при выполнении вычислений.