qq_王允_03153589
2016-04-11 13:47
这样为什么不行
<?php
$a =78;
$b=&$a;
$a>= 60 ?"及格":"不及格";
echo $b;
?>
为什么输出的不是 及格或者不及格呢 而是78
你只是算了一下$a大不大于60
并没有赋值给$a或$b
所以$a还是78
$b=&$a也还是78
$a = 78; $b = $a >= 60 ? "及格" : "不及格"; $c = &$b; echo $c; //因为我这里一直提示代码错误,所以不能验证对不对,不过你可以试一下。
$b=&$a;
&的含义:变量a和b指向同一个内存空间,若内存存储的数据变了,a和c的值都变;但是$a的值没有发生变化,所以输出$b,最后还是78.
给变量a赋值78
给变量b赋值等于a所指向的变量地址的数值
判断变量a是不是大于60
输出变量b所指向的地址的值。
第二行 $b =&$a
第三行 '$a>'= 60 ?"及格":"不及格";
$a不是$a>
$b = $a >= 60?"及格":"不及格";
PHP入门篇
455994 学习 · 6306 问题
相似问题