类别:PHP问题 / 日期:2019-12-02 / 浏览:93 / 评论:0

php运算符的优先级

PHP运算符优先级,是形貌在盘算机运算盘算表达式时实行运算的先后递次。 先实行具有较高优先级的运算,然后实行较低优先级的运算。 比方,我们常说的先实行相乘和除,再实行加减运算。

php运算符优先级的递次

下表从高到低列出了运算符的优先级。统一行中的运算符具有雷同优先级,然后运算符的优先级是运算表达式从左到右。

优先级 连系方向 运算符 附加信息
1 非连系 clone new clone和new
2 [ array()
3 非连系 ++ -- 递增/递减运算符
4 非连系 ~-(int)(float)(string)(array)(object)(bool)@ 范例
5 非连系 instanceof 范例
6 右连系 ! 逻辑操作符
7 */ % 算术运算符
8 + -. 算术运算符和字符串运算符
9 <<>> 位运算符
10 非连系 <<=>>=<> 比较运算符
11 非连系 ==!====!== 比较运算符
12 & 位运算符和援用
13 ^ 位运算符
14 | 位运算符
15 && 逻辑运算符
16 || 逻辑运算符
17 ?: 三元运算符
18 =+=-=*=/= .= %= &= |= ^= <<= >>= 赋值运算符
19 and 逻辑运算符
20 xor 逻辑运算符
21 or 逻辑运算符
22 , 多处用到

举例说明

对具有雷同优先级的运算符,左连系方向意味着将从左向右求值,右连系方向则反之。关于无连系方向具有雷同优先级的运算符,该运算符有能够没法与其本身连系。

举例说,在 PHP 中 1 < 2 > 1 是一个不法语句,而 1 <= 1 == 1 则不是。由于<=比==优先级高。

<?php
	$a = 3 * 3 % 5; // (3 * 3) % 5 = 4
	$a = true ? 0 : true ? 1 : 2; // (true ? 0 : true) ? 1 : 2 = 2
	$a = 1;
	$b = 2;
	$a = $b += 3; // $a = ($b += 3) -> $a = 5, $b = 5
	// mixing ++ and + produces undefined behavior
	$a = 1;
	echo ++$a + $a++; // may print 4 or 5
?>

所以在我们异常清晰PHP运算优先级的前提下,最好运算符的誊写的时刻,照样要以圆括号来标记优先级,如许可读性强,也是一个优越的编程习气。

更多PHP相干学问,请接见ki4网!

以上就是php运算符的优先级是什么?的细致内容,更多请关注ki4网别的相干文章!

打赏

感谢您的赞助~

打开支付宝扫一扫,即可进行扫码打赏哦~

版权声明 : 本文未使用任何知识共享协议授权,您可以任何形式自由转载或使用。

 可能感兴趣的文章

评论区

发表评论 / 取消回复

必填

选填

选填

◎欢迎讨论,请在这里发表您的看法及观点。