课程
/后端开发
/PHP
/PHP入门篇
这样为什么不行
<?php
$a =78;
$b=&$a;
$a>= 60 ?"及格":"不及格";
echo $b;
?>
为什么输出的不是 及格或者不及格呢 而是78
2016-04-11
源自:PHP入门篇 5-5
正在回答
你只是算了一下$a大不大于60
并没有赋值给$a或$b
所以$a还是78
$b=&$a也还是78
$a = 78; $b = $a >= 60 ? "及格" : "不及格"; $c = &$b; echo $c; //因为我这里一直提示代码错误,所以不能验证对不对,不过你可以试一下。
&的含义:变量a和b指向同一个内存空间,若内存存储的数据变了,a和c的值都变;但是$a的值没有发生变化,所以输出$b,最后还是78.
给变量a赋值78
给变量b赋值等于a所指向的变量地址的数值
判断变量a是不是大于60
输出变量b所指向的地址的值。
第二行 $b =&$a
第三行 '$a>'= 60 ?"及格":"不及格";
$a不是$a>
$b = $a >= 60?"及格":"不及格";
RapCodeWgd
举报
PHP入门教程轻松学习,行业大牛帮您快速掌握PHP编程基础知识。
4 回答当$b=&$a;$b>=60?"及格":"不及格"; echo $b; 输出来的结果是78呢,为什么?
1 回答既然是两个不同的赋值运算符,为什么不写成$c & $a;而要写成$c =&$a;呢
3 回答为什么说连接赋值运算符有赋值功能
1 回答PHP中赋值运算符
3 回答PHP赋值运算符&