Loading... ## Performing Math Operations PHP has several built-in functions that help you perform anything from simple additions or subtraction to advanced calculations. You’ve already seen how to perform basic mathematical operations in [PHP operators](http://www.bixiaguangnian.com/manual/php7/3971.html "PHP operators") chapter. Let’s check out one more example: ```php <?php echo 7 + 3; // 0utputs: 10 echo 7 - 2; // 0utputs: 5 echo 7 * 2; // 0utputs: 14 echo 7 / 2; // 0utputs: 3.5 echo 7 % 2; // 0utputs: 1 ?> ``` Every math operation has a certain precedence level; generally multiplication and division are performed before addition and subtraction. However, parentheses can alter this precedence; expressions enclosed within parentheses are always evaluated first, regardless of the operation’s precedence level, as demonstrated in the following example: ```php <?php echo 5 + 4 * 10; // 0utputs: 45 echo (5 + 4) * 10; // 0utputs: 90 echo 5 + 4 * 10 / 2; // 0utputs: 25 echo 8 * 10 / 4 - 2; // 0utputs: 18 echo 8 * 10 / (4 - 2); // 0utputs: 40 echo 8 + 10 / 4 - 2; // 0utputs: 8.5 echo (8 + 10) / (4 - 2); // 0utputs: 9 ?> ``` In the following section we’re going to look at some built-in PHP functions that are most frequently used in performing mathematical operations. ## Find the Absolute Value of a Number The absolute value of an [integer](http://www.bixiaguangnian.com/manual/php7/3969.html#h2-php-integers "integer") or a [float](http://www.bixiaguangnian.com/manual/php7/3969.html#h2-php-floating-point-numbers-or-doubles "float") can be found with the abs() function, as demonstrated in the following example: ```php <?php echo abs(5); // 0utputs: 5 (integer) echo abs(-5); // 0utputs: 5 (integer) echo abs(4.2); // 0utputs: 4.2 (double/float) echo abs(-4.2); // 0utputs: 4.2 (double/float) ?> ``` As you can see if the given number is negative, the valued returned is positive. But, if the number is positive, this function simply returns the number. ## Round a Fractional Value Up or Down The ceil() function can be used to round a fractional value up to the next highest integer value, whereas the floor() function can be used to round a fractional value down to the next lowest integer value, as demonstrated in the following example: ```php <?php // Round fractions up echo ceil(4.2); // 0utputs: 5 echo ceil(9.99); // 0utputs: 10 echo ceil(-5.18); // 0utputs: -5 // Round fractions down echo floor(4.2); // 0utputs: 4 echo floor(9.99); // 0utputs: 9 echo floor(-5.18); // 0utputs: -6 ?> ``` ## Find the Square Root of a Number You can use the sqrt() function to find the square root of a positive number. This function returns a special value NAN for negative numbers. Here’s an example: ```php <?php echo sqrt(9); // 0utputs: 3 echo sqrt(25); // 0utputs: 5 echo sqrt(10); // 0utputs: 3.1622776601684 echo sqrt(-16); // 0utputs: NAN ?> ``` ## Generate a Random Number The rand() function can be used to generate a random number. You can optionally specify a range by passing the min, max arguments, as shown in the following example: ```php <?php // Generate some random numbers echo rand() . "<br>"; echo rand() . "<br>"; // Generate some random numbers between 1 and 10 (inclusive) echo rand(1, 10) . "<br>"; echo rand(1, 10) . "<br>"; ?> ``` If rand() function is called without the optional min, max arguments, it returns a pseudo-random number between 0 and getrandmax(). The getrandmax() function show the largest possible random value, which is only 32767 on Windows platform. So, if you require a range larger than 32767, you may simply specify the min and max arguments. ## Convert Decimal Numbers to Binary and Vice Versa The decbin() function is used to convert a decimal number into binary number. Whereas its counterpart the bindec() function converts a number from binary to decimal. ```php <?php // Convert Decimal to Binary echo decbin(2); // 0utputs: 10 echo decbin(12); // 0utputs: 1100 echo decbin(100); // 0utputs: 1100100 // Convert Binary to Decimal echo bindec(10); // 0utputs: 2 echo bindec(1100); // 0utputs: 12 echo bindec(1100100); // 0utputs: 100 ?> ``` ## Convert Decimal Numbers to Hexadecimal and Vice Versa The dechex() function is used to convert a decimal number into hexadecimal representation. Whereas, the hexdec() function is used to converts a hexadecimal string to a decimal number. ```php <?php // Convert decimal to hexadecimal echo dechex(255); // 0utputs: ff echo dechex(196); // 0utputs: c4 echo dechex(0); // 0utputs: 0 // Convert hexadecimal to decimal echo hexdec('ff'); // 0utputs: 255 echo hexdec('c4'); // 0utputs: 196 echo hexdec(0); // 0utputs: 0 ?> ``` ## Convert Decimal Numbers to Octal and Vice Versa The decoct() function is used to convert a decimal number into octal representation. Whereas, the octdec() function is used to converts a octal number to a decimal number. ```php <?php // Convert decimal to octal echo decoct(12); // 0utputs: 14 echo decoct(256); // 0utputs: 400 echo decoct(77); // 0utputs: 115 // Convert octal to decimal echo octdec('14'); // 0utputs: 12 echo octdec('400'); // 0utputs: 256 echo octdec('115'); // 0utputs: 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 other. 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 convert, the base it’s currently in, and the base it’s to be converted to. The basic syntax is as follows: ```php base_convert(number, frombase, tobase); ``` Here, the number can be either an integer or a string representing an integer. Both frombase and tobase have to be between 2 and 36, inclusive. Digits in numbers with a base higher than 10 will be represented with the letters a-z, where a means 10, b means 11 and z means 35. Here’s a simple example to show how this function works: ```php <?php // Convert decimal to binary echo base_convert('12', 10, 2); // 0utputs: 1100 // Convert binary to decimal echo base_convert('1100', 2, 10); // 0utputs: 12 // Convert decimal to hexadecimal echo base_convert('10889592', 10, 16); // 0utputs: a62978 // Convert hexadecimal to decimal echo base_convert('a62978', 16, 10); // 0utputs: 10889592 // Convert decimal to octal echo base_convert('82', 10, 8); // 0utputs: 122 // Convert octal to decimal echo base_convert('122', 8, 10); // 0utputs: 82 // Convert hexadecimal to octal echo base_convert('c2c6a8', 16, 8); // 0utputs: 60543250 // Convert octal to hexadecimal echo base_convert('60543250', 8, 16); // 0utputs: c2c6a8 // Convert octal to binary echo base_convert('42', 8, 2); // 0utputs: 100010 // Convert binary to octal echo base_convert('100010', 2, 8); // 0utputs: 42 // Convert hexadecimal to binary echo base_convert('abc', 16, 2); // 0utputs: 101010111100 // Convert binary to hexadecimal echo base_convert('101010111100', 2, 16); // 0utputs: abc ?> ``` > Note: The base\_convert() function will always return a string value. If the returned value is in base 10 the resulting string can be used as a numeric string in calculations and PHP will convert it to a number when the calculation is performed. > Last modification:September 10, 2024 © Allow specification reprint Like 如果觉得我的文章对你有用,请随意赞赏