给大家出一道PHP中等题,帮帮分析一下
答案:6 悬赏:30 手机版
解决时间 2021-02-04 17:27
- 提问者网友:無理詩人
- 2021-02-04 01:34
给大家出一道PHP中等题,帮帮分析一下
最佳答案
- 五星知识达人网友:第幾種人
- 2021-02-04 01:46
这个其实是运算符优先级的问题
if($a = 3 && $b = 3)相当于
if($a = (3 && $b = 3))赋值运算从右至左,所以$b = 3;而&&符号优先级高于前面的赋值符号,这里3就与$b=3,结果自然为1,最后将1赋值给$a,所以$a的结果为1,。之后进行++操作。
所以最后输出的结果为:
1 - 4
if($a = 3 && $b = 3)相当于
if($a = (3 && $b = 3))赋值运算从右至左,所以$b = 3;而&&符号优先级高于前面的赋值符号,这里3就与$b=3,结果自然为1,最后将1赋值给$a,所以$a的结果为1,。之后进行++操作。
所以最后输出的结果为:
1 - 4
全部回答
- 1楼网友:七十二街
- 2021-02-04 06:16
不知道你想要分析什么 哈哈 我知道了
- 2楼网友:你哪知我潦倒为你
- 2021-02-04 05:09
答案是 : 4 - 4
- 3楼网友:不甚了了
- 2021-02-04 04:49
$a=0;$b=0;
if($a=3 && $b = 3){
echo $a; //输出1 判断语句语句中$a=3为正(true)
echo $b; //输出3 &&符号前方为正,继续执行后方 $b 赋值为3
$a++;
$b++;
}
echo $a." - ".$b; //输出1 - 4
为什么 $a 没出现自增而直接输出,$b不一样? 我也不清楚了,
if($a=3 && $b = 3){
echo $a; //输出1 判断语句语句中$a=3为正(true)
echo $b; //输出3 &&符号前方为正,继续执行后方 $b 赋值为3
$a++;
$b++;
}
echo $a." - ".$b; //输出1 - 4
为什么 $a 没出现自增而直接输出,$b不一样? 我也不清楚了,
- 4楼网友:千夜
- 2021-02-04 03:51
涉及到运算符优先级和变量类型
$a=0;
$b=0;
if($a=(3 && $b=3)){
//$c = gettype($a); //$a是boolean值,值为1,所以$a++也是boolean,值为1
$a++;
//$d = gettype($b);
$b++; //$b=3,$b++,自加,故$b=4
}
echo $a.'--'.$b;
?>
- 5楼网友:佘樂
- 2021-02-04 02:42
$a=0; $b=0;
if($a=3 && $b=3){
var_dump($a);
var_dump($b);
$a++; $b++;
var_dump($a);
var_dump($b);
}
echo $a.",".$b;
if($a=3 && $b=3){
var_dump($a);
var_dump($b);
$a++; $b++;
var_dump($a);
var_dump($b);
}
echo $a.",".$b;
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯