php运算符优先级

简介:

     运算符优先级指定了两个表达式绑定得有多“紧密”。例如,表达式 1 + 5 * 3 的结果是 16 而不是 18 是因为乘号(“*”)的优先级比加号(“+”)高。必要时可以用括号来强制改变优先级。例如:(1 + 5) * 3 的值为 18。如果运算符优先级相同,则使用从左到右的左联顺序。

下表从高到低列出了运算符的优先级。同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序。

 
  1. <?php 
  2. $a = 3 * 3 % 5; // (3 * 3) % 5 = 4 
  3. $a = true ? 0 : true ? 1 : 2; // (true ? 0 : true) ? 1 : 2 = 2 
  4.  
  5. $a = 1; 
  6. $b = 2; 
  7. $a = $b += 3; // $a = ($b += 3) -> $a = 5, $b = 5 
  8. ?> 

使用括号可以增强代码的可读性。

尽管 = 比其它大多数的运算符的优先级低,PHP 仍旧允许类似如下的表达式:if (!$a = foo()),在此例中 foo() 的返回值被赋给了 $a。

详细见:http://www.php.net/manual/zh/language.operators.precedence.php

 

博主laoqin2010发现了一个关于php赋值运算符优先级的问题(一并学习了):

 

正解如下:

 

 

以后一定要多回过头来复习下基础知识。

 



      本文转自许琴 51CTO博客,原文链接:http://blog.51cto.com/xuqin/1114232,如需转载请自行联系原作者




相关文章
|
1天前
|
PHP 存储
【PHP入门】2.1-运算符
【PHP入门】2.1-运算符
【PHP入门】2.1-运算符
|
7天前
|
存储 数据库连接 PHP
【PHP开发专栏】深入解析PHP数据类型与运算符
【4月更文挑战第30天】本文深入探讨了PHP的编程基础——数据类型和运算符。PHP支持整型、浮点型、字符串、布尔型、数组、对象、资源等数据类型。运算符包括算术、字符串、赋值、比较、逻辑、位、错误控制及范围运算符。通过示例展示了如何计算圆面积、判断素数和求斐波那契数列,以帮助读者更好地理解和应用这些概念。
|
2月前
|
PHP
PHP运算符
PHP运算符
19 0
|
8月前
|
PHP
PHP 比较运算符
PHP 比较运算符
23 0
|
8月前
|
PHP
PHP 连接运算符
PHP 连接运算符
25 0
|
10月前
|
PHP
PHP 中的引用赋值运算符
PHP 中的引用赋值运算符
|
11月前
|
PHP
PHP——运算符
PHP——运算符
PHP为什么需要比较运算符?底层原理是什么?
PHP为什么需要比较运算符?底层原理是什么?