PHP 运算符优先级实际上指定了两个表达式如何紧密绑定在一起并首先求值。运算符优先级还决定何时以及如何使用不同的括号类型对运算符进行分组。运算符优先级可以是较高优先级、较低优先级或相等优先级。它们也是 PHP 编程语言中的许多内置数学运算符,它们根据运算符的类型具有不同类型的运算符优先级。 PHP 编程语言的运算符优先级对于轻松执行数学计算有很大帮助。如果任何编码语言都没有运算符优先级的概念,那么程序的逻辑就会变得混乱。
广告 该类别中的热门课程 PHP 开发人员 - 专业化 | 8 门课程系列 | 3次模拟测试开始您的免费软件开发课程
网络开发、编程语言、软件测试及其他
PHP 编程语言的运算符优先级基于运算符的类型。运算符可以是数学运算符或任何类似于特殊字符的运算符。对于数学运算符,PHP 语言的运算符优先级类似于 BOD-MAS(括号、顺序、除法、乘法、加法和减法)。所有计算机和编码语言始终遵循这种数学运算符优先级,以便轻松执行多种计算。
在这里,我们将看到字符的运算符优先级,从较高的运算符优先级到较低的运算符优先级。
“[ ]”运算符被赋予第 1st 优先级,
然后 ++、—、~、()、@ 获得第 2 个第 运算符优先级,
然后“instanceof”获得第三第优先级,
第四第一个是“!”,
第 5 其中一个是“ * , / , % ”,
第 6 优先级赋予 +、– 和 。 ,
>>和 优先级,
>、=、 优先级,
==、===、!=、!==、获得第 9 优先级,
并获得第 10,
^ 获得第 11,
|获得第 12 个,
&& 得到 13,
||得到了 14,
?: 获得第 15 ,
=、*=、/=、%=、+=、-=、=、&=、^=、|=、>=、=>获得第 16 个,
并获得第 17,
异或得到 18第,
或获得第 19
和“,”获得第 20 运算符优先级。
以下是下面提到的示例
在下面的运算符优先级示例中,首先根据 BODMAS 计算原理,首先计算大括号内的数值元素。因此,对于第一个 echo 语句,将计算 (40-4)/9 并将结果保留为“4”。对于第二个 echo 语句,首先计算 4/9,结果为“0.44444444444”。然后将计算“5*8”,然后用该结果减去 4/9 结果,得到“39.5555555556”。
代码:
<?php echo "This is the mathematical calculation by giving higher precedence to the elements which are inside of the brackets:: <br>"; echo (((5*8)-4)/9); echo "<br>"; echo "Mathematical calculation done by using BOD-MAS Rule::<br>"; echo (5*8-4/9); ?>
输出:
在下面的例子中,基于BODMAS原理完成了3个变量值的计算。首先,通过分配一些数值来创建 $n11、$n12、$n13 变量。然后以两种不同的方式计算这些变量值的加法和乘法。一种计算方法通常是在变量之间分配运算符。第二种计算方法是通过提及大括号和它们之间的运算。将首先计算大括号之间的值。在第一个 $ans1 变量中,将 n12 和 n13 变量相乘,然后加上 n11 的值。在第二个 $ans1 中,首先计算 n11 和 n22 变量值,然后与 n13 变量值相乘。
代码:
<?php echo "Program to know how the mathematical operator precedence works :: <br>"; $n11 = 10; $n12 = 5; $n13 = 2; $ans1 = $n11 + $n12 * $n13; echo "The result of "; echo "$n11 + $n12 * $n13 = $ans1<br />"; $ans1 = ($n11 + $n12) * $n13; echo "The result of "; echo "($n11 + $n12) * $n13 = $ans1<br />"; ?>
输出:
In the below examples output, the value of x++, ++x, – – y values are shown to know what are the values of calculation. So the result will be calculated using “4+6/4*3”. Based on the BODMAS principle, 6/4 is calculated first and leaves 1.5 as the answer. Then 1.5*3 is calculated and leaves 4.5 and then 4+4.5 is calculated and leaves the result as 8.5. This illustration will let you know how the BODMAS principle is used.
Code:
<?php $x = 4; $y = 5; $a = 4; $b = 5; echo "First time x++ value :: "; echo $a++; echo "<br>"; echo "Second time ++x value :: "; echo ++$a; echo "<br>"; echo "First time - - y value :: "; echo --$b; echo "<br>"; echo "Second time - - y value :: "; echo --$b; echo "<br>"; $result = $x++ + ++$x / --$y * --$y; echo "The result of (x++)+(++x)/(- - y)*(- - y) :: "; echo "{$result} <br/>"; ?>
Output:
In the below example, to know the operator precedence, different types of operator symbols are used for the result variable. The var_dump(result) will be true only if both the elements in the braces are TRUE. You can know what are the values of – – a, a – -, ++b, – – c are shown in the output for better understanding. Now the values of those are used to calculate whether the conditions of the result variable satisfies or not. If satisfied and both the braces conditions are TRUE then the var_dump() function will leave the result as TRUE.
Code:
<?php $a = 2; $b = 8; $c = 8; $d = 2; $e = 8; $f = 8; echo "Actual and Original 'a' variable value :: $a <br>"; echo "Actual and Original 'b' variable value :: $b <br>"; echo "Actual and Original 'c' variable value :: $c <br>"; echo "The value of - - a ::". --$d." <br>"; echo "The value of a - - ::". $d--." <br>"; echo "The value of ++ b ::". ++$e." <br>"; echo "The value of - - a ::". --$f." <br>"; $result = ($a * $a <= $b * $a) && (--$a * $a-- !== ++$b - --$c); echo "After the completion of the above result statement 'a' value = {$a} <br/>"; echo "After the completion the above result statement 'b' value = {$b} <br/>"; echo "After the completion the above result statement 'c' value = {$c} <br/>"; var_dump($result); ?>
Output:
以上是PHP 中的运算符优先级的详细内容。更多信息请关注PHP中文网其他相关文章!