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

来源:5-5 PHP中的三元运算符

qq_王允_03153589

2016-04-11 13:47

这样为什么不行

<?php

$a =78;

$b=&$a;

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

echo $b;

?>

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

写回答 关注

5回答

  • 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?"及格":"不及格";

    RapCod...

    你没有为$b再次赋值,输出的还是$a的值

    2016-04-11 13:54:27

    共 1 条回复 >

PHP入门篇

PHP入门教程轻松学习,行业大牛帮您快速掌握PHP编程基础知识。

455957 学习 · 6306 问题

查看课程

相似问题