码迷,mamicode.com
首页 > 其他好文 > 详细

一则关于运算符的小例

时间:2014-08-25 17:21:54      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:ar   amp   c   php   as   class   r   block   oc   

第一题:

$a=2;
$b=5;
if($a=3||$b=2){
    $a++;
    $b++;
}

echo $a,‘~~~‘,$b;
//1,6

第二题:

$a=2;
$b=5;
if($a=3&&$b=2){
    $a++;
    $b++;
}

echo $a,‘~~~‘,$b;
//1,3

这道题主要有两个关键点:

  1. || 的优先级比 = 高
  2. 布尔值在自增 自减下 没有效果

第一题:
先执行的 3||($b=2) 因为3为真,所以到 3|| 就结束了,$b=2 并没有执行,$b还是5
因为(3||) 为真,所以 $a 赋值为布尔值
上面说过布尔值在自增 自减下 没有效果 所以$a 的值还是为布尔值, 在PHP 里显示为1
var_dump() 一下就能看出来了。

一则关于运算符的小例

标签:ar   amp   c   php   as   class   r   block   oc   

原文地址:http://my.oschina.net/guanyue/blog/306421

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!