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

当$b=&$a;$b>=60?"及格":"不及格"; echo $b; 输出来的结果是78呢,为什么?

当$b=&$a;$b>=60?"及格":"不及格"; echo $b;  输出来的结果是78呢,为什么?

正在回答

4 回答

)“&”:引用赋值,意味着两个变量都指向同一个数据。它将使两个变量共享一块内存,如果这个内存存储的数据变了,那么两个变量的值都会发生变化。$b=&$a的意思是把a的值赋值给b,而且b的值会随着a的值的改变而改变,这是上两节的东西,你再看看吧。

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

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

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

运算符优先级问题

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

)“&”:引用赋值,意味着两个变量都指向同一个数据。它将使两个变量共享一块内存,如果这个内存存储的数据变了,那么两个变量的值都会发生变化。$b=&$a的意思是把a的值赋值给b,而且b的值会随着a的值的改变而改变,这是上两节的东西,你再看看吧。

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

Z_JF 提问者

当a的值赋予b过后,是用b的值与60进行比较的呀,再说a的值又一直没有变,应该说输出的是及格呀,为什么输出的是78呢?不能理解
2016-07-08 回复 有任何疑惑可以回复我~
#2

Z_JF 提问者 回复 残破Q

明白了,谢谢
2016-07-08 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

当$b=&$a;$b>=60?"及格":"不及格"; echo $b; 输出来的结果是78呢,为什么?

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