php代码问题 $a = 3; $b = 5; if ($a=5 || $b = 7) { $a++; $b++; } echo $a . " " . $b; 结果 1 6 why a?
3个回答
推荐于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);可以看到变量类型。
$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);可以看到变量类型。
展开全部
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写法不规范导致的
$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;
?>
自己看看
$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;
?>
自己看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询