问答详情
源自:5-5 PHP中的三元运算符

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

这样为什么不行

<?php

$a =78;

$b=&$a;

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

echo $b;

?>

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

提问者:qq_王允_03153589 2016-04-11 13:47

个回答

  • underwater
    2016-04-17 00:31:58
    已采纳

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

    并没有赋值给$a或$b

    所以$a还是78

    $b=&$a也还是78

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


  • dead_life
    2017-01-06 19:26:00

    $b=&$a;

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

  • 慕粉18753377173
    2016-06-07 19:46:29

    1. 给变量a赋值78

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

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

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


  • 慕虎9341455
    2016-05-16 00:22:13

    第二行 $b =&$a

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

    $a不是$a>

  • RapCodeWgd
    2016-04-11 13:53:03

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