php代码问题 $a = 3; $b = 5; if ($a=5 || $b = 7) { $a++; $b++; } echo $a . " " . $b; 结果 1 6 why a?

 我来答
匿名用户
推荐于2018-02-11
展开全部
$a = 3; //赋值
$b = 5;
if ($a=5 || $b = 7)//运算符优先级 逻辑运算符(||)高于赋值运算符(=),即$a = (bool)ture;$b=5;
{
$a++; //$a++ 值不变为1
$b++; //$b++值为5+1
}
echo $a . " " . $b;
var_dump($name);可以看到变量类型。
毒笼
2012-02-17 · TA获得超过203个赞
知道小有建树答主
回答量:215
采纳率:0%
帮助的人:174万
展开全部
1 <?php
2 $a = 3;
3 $b = 5;
4 if ($a=5 || $b = 7) {
5 echo $a." and ".$b."\r\n";
6 $a++;
7 $b++;
8 echo $a." and ".$b."\r\n";
9 }
10 echo $a . " " . $b;
11 ?>
好纠结啊,终于搞定了..
if那里=是赋值,后面肯定是个真值,因此$a=true,$b没变,依然是5
进入if,此条件成立,都加1,true+1自动转为1
5+1=6
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
njumwx
2012-02-17 · TA获得超过327个赞
知道小有建树答主
回答量:868
采纳率:0%
帮助的人:436万
展开全部
写法不规范导致的
$a = 3; $b = 5; if (($a==5) ||( $b ==7)) { $a++; $b++; } echo $a . " " . $b;
这是你想要的
<?php
$a = 3;
$b = 5;
var_dump(5 || $b =7);
if ($a=5 || $b =7)
{
echo $a;
$a++;
$b++;
}
//echo $a." ".$b;
?>
自己看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式