如何判定PHP运算符优先级别

飞空静渡 2009-11-18

学习PHP时,你可能会遇到PHP运算符优先级问题,这里将介绍PHP运算符优先级问题的解决方法,在这里拿出来和大家分享一下。PHP支持一个错误控制运算符:@。当将其放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都被忽略掉。如果激活了track_errors特性,表达式所产生的任何错误信息都被存放在变量$php_errormsg中。此变量在每次出错时都会被覆盖,所以如果想用它的话就要尽早检查。

<?php 



$my_file=@file('non_existent_file')or  



die("Failedopeningfile:errorwas'$php_errormsg'");  



$value=@$cache[$key];  




?> 
注:@运算符只对表达式有效。对新手来说一个简单的PHP运算符优先级规则就是:如果你能从某处得到值,你就能在它前面加上@运算符。例如,你可以把它放在变量,函数和include()调用,常量,等等之前。不能把它放在函数或类的定义之前,也不能用于条件结构例如if和foreach等。执行运算符:PHP支持一个执行运算符:反引号(``)。注意这不是单引号!PHP将尝试将反引号中的内容作为外壳命令来执行,并将其输出信息返回(例如,可以赋给一个变量而不是简单地丢弃到标准输出)。使用反引号运算符“`”的效果与函数shell_exec()相同。
<?php 



$output=`ls-al`;  




echo"<pre>$output</pre>";  




?> 

注:反引号运算符在激活了安全模式或者关闭了shell_exec()时是无效的。

加一/减一运算符:
++$a前加$a的值加一,然后返回$a。
$a++后加返回$a,然后将$a的值加一。
--$a前减$a的值减一,然后返回$a。
$a--后减返回$a,然后将$a的值减一。

相关推荐