为了账号安全,请及时绑定邮箱和手机立即绑定

换成$b=&$a 赋值运算符的为什么无法输出 “及格”或者“不及格”呢

这样为什么不行

<?php

$a =78;

$b=&$a;

$a>= 60 ?"及格":"不及格";

echo $b;

?>

为什么输出的不是 及格或者不及格呢  而是78

正在回答

5 回答

 你只是算了一下$a大不大于60

并没有赋值给$a或$b

所以$a还是78

$b=&$a也还是78

$a = 78;
$b = $a >= 60 ? "及格" : "不及格";
$c = &$b;
echo $c;  //因为我这里一直提示代码错误,所以不能验证对不对,不过你可以试一下。


0 回复 有任何疑惑可以回复我~

$b=&$a;

&的含义:变量a和b指向同一个内存空间,若内存存储的数据变了,a和c的值都变;但是$a的值没有发生变化,所以输出$b,最后还是78.

0 回复 有任何疑惑可以回复我~
  1. 给变量a赋值78

  2. 给变量b赋值等于a所指向的变量地址的数值

  3. 判断变量a是不是大于60

  4. 输出变量b所指向的地址的值。


0 回复 有任何疑惑可以回复我~

第二行 $b =&$a

第三行 '$a>'= 60 ?"及格":"不及格";

$a不是$a>

0 回复 有任何疑惑可以回复我~

$b = $a >= 60?"及格":"不及格";

0 回复 有任何疑惑可以回复我~
#1

RapCodeWgd

你没有为$b再次赋值,输出的还是$a的值
2016-04-11 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

换成$b=&$a 赋值运算符的为什么无法输出 “及格”或者“不及格”呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信