先看一个运算符优先级表
Operator Precedence(运算符优先级)
引用
Associativity Operators Additional Information
non-associative clone new clone and new
left [ array()
non-associative ++ -- increment/decrement
right ~ - (int) (float) (string) (array) (object) (bool) @ types
non-associative instanceof types
right ! logical
left * / % arithmetic
left + - . arithmetic and string
left << >> bitwise
non-associative < <= > >= <> comparison
non-associative == != === !== comparison
left & bitwise and references
left ^ bitwise
left | bitwise
left && logical
left || logical
left ?: ternary
right = += -= *= /= .= %= &= |= ^= <<= >>= => assignment
left and logical
left xor logical
left or logical
left , many uses
引用
&& 优先于 = 优先于 and
但是
引用
$a = 100 && $b = 200
按照运算符优先级规则顺序应该是
引用
$a = ( ( 100 && $b ) = 200 )
但是php里有规定,
引用
Note: Although = has a lower precedence than most other operators, PHP will still allow expressions similar to the following: if (!$a = foo()), in which case the return value of foo() is put into $a.
所以实际效果是
引用
( $a = 100 )&& ( $b = 200 )
相当于把 && 变成了 and
另外,引用鸟哥的一个例子
引用
最后, 顺便说一下, PHP对应于T_BOOLEAN_AND 还定义了 T_LOGICAL_AND(and) 和 T_LOGICAL_OR(or) , 这俩个的优先级都低于等号, 于是就会有了, 很多PHP入门教材示例代码中经典的:
$result = mysql_query(*) or die(mysql_error());
分享到:
相关推荐
Java、C++、C语言、PHP、Python运算符优先级对照表.xls
学习php需要了解的运算符优先级的问题
主要介绍了PHP中关于访问控制的和运算符优先级介绍,需要的朋友可以参考下
传智播客_韩顺平_php从入门到精通 视频教程 第40讲 三元运算符 类型运算符 运算符优先级.wmv ) 您可以上传小于60MB的文件
例如,你需要计算123乘以456等于多少,这时候就需要一个符号,告诉服务器,你需要做乘法运算。 PHP中的运算符有哪些?PHP运算符一般分为算术运算符、赋值运算符、比较运算符、三元运算符、逻辑运算符、字符串连接...
2.6.11 运算符的优先级 2.7 流程控制 2.7.1 if结构 2.7.2 switch结构 2.7.3 while循环 2.7.4 for循环 2.7.5 foreach语句 2.7.6 declare语句 2.7.7 exit和retunl语句 2.8 包含代码 2.9 本章小结 第3章 函数 3.1...
最近在Greg Beaver’s的blog上发表的一篇新文章 comparing strings in PHP with the == operator 中提及了PHP的 == 运算符在对字符串进行比较时值得注意的问题。 在某些情况下,PHP会把类数值数据(如含有数字的...
1、算术运算符:+、-、*、/、%。 2、递增/递减运算符:如$a++,$a–,++$a,–$a. 如: <?php$a=10;$b=5;$c=$a++; //先赋值,后自增。$c=$a,$a=$a+1$d=$b–; //先赋值,后自减。$d=$b,$b=$a-1echo ‘$a=’.$a.”||...
本身没有区别,习惯问题 ,但是有时候牵涉到运算符优先级的问题,结果会不同,记录下。 例如: 复制代码 代码如下:$p = 6 or 0; var_dump($p);//int(6) $p = 6 || 0; var_dump($p);//bool(true) $p = 6 and 0; var_...
三元运算符 类型运算符 运算符优先级 8-20 2.顺序控制 分支控制(if ifelse switch) 程序流程图 8-20 3.循环控制①(for) 8-20 4.循环控制②(while dowhile) 打印金字塔案例 8-20 5.打印金字塔案例评讲 布置练习题 8-...
三元运算符 类型运算符 运算符优先级 8-20 2.顺序控制 分支控制(if ifelse switch) 程序流程图 8-20 3.循环控制①(for) 8-20 4.循环控制②(while dowhile) 打印金字塔案例 8-20 5.打印金字塔案例评讲 布置练习题 8-...
解答学生问题--一个ip绑定多个域名 8-19 2.php运行过程时序图 php书写规范 8-19 3.php基本语法介绍 php数据类型介绍 8-19 4.整型细节说明 8-19 5.布尔细节 浮点数细节 字符串细节 算术运算符① 8-19 6.算术运算符② ...
三元运算符 类型运算符 运算符优先级 8-20 2.顺序控制 分支控制(if ifelse switch) 程序流程图 8-20 3.循环控制①(for) 8-20 4.循环控制②(while dowhile) 打印金字塔案例 8-20 5.打印金字塔案例评讲 布置练习题 8-...
首先需要分配2个栈,一个作为临时存储运算符的栈S1(含一个结束符号),一个作为输入逆波兰 式的栈S2(空栈),S1栈可先放入优先级最低的运算符#,注意,中缀式应以此最低优先级的运算符结束。可指定其他字符,不...
一、由于目前正在功读JavaScript技术,所以这里拿JavaScript为例。你可以自己在PHP中试试。 二、JavaScript语法比较复杂,因此拿JavaScript做举例。 最近重新阅读JavaScript权威指南这本书,应该说很认真的阅读,...
1.3.1 第一个PHP程序Hello, world 6 1.3.2 学习PHP应该准备哪些软件 8 1.3.3 相关知识领域的介绍 9 1.4 程序运行环境的搭建 10 1.4.1 Apache简介 10 1.4.2 安装Apache与PHP 10 1.4.3 使用phpinfo()确认Apache与PHP ...
解答学生问题--一个ip绑定多个域名 8-19 2.php运行过程时序图 php书写规范 8-19 3.php基本语法介绍 php数据类型介绍 8-19 4.整型细节说明 8-19 5.布尔细节 浮点数细节 字符串细节 算术运算符① 8-19 6.算术运算符② ...
补上昨天运算符与优先级.mp4 ----7.for循环.mp4 ----8.函数.mp4 ----9.return+引用函数.mp4 ----10.数组.mp4 ----11.时间戳+系统变量+文件操作.mp4 ----12.GET跟POST请求.mp4 ----13.三元运算符.mp4 ----14.mysql...