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

三元运算的提问

<?php
$a=80;
($b=$a>=60)?("及格"):("不及格");
echo $b;
?>
这样输出的结果为什么是1 呢?

提问者:慕粉553184836 2017-04-26 15:43

个回答

  • 慕用4111669
    2017-08-08 23:21:26

    你括起来之后得到比较出的结果为ture,然后赋值给变量b,在php里面ture代表的值为1而false代表的值为0,所以输出1。

  • 何遇2017
    2017-05-29 16:18:56

    这是c语言里面讲的比较运算,可以百度一下具体运算方法

  • GreyJoker
    2017-05-10 17:51:27

    <?php
    $a=80;
    $c = ($b=$a>=60)?("及格"):("不及格");
    echo $b; //输出 1
    echo $c; // 输出 及格

    ?>

    三元运算符 简单来说

    ? 前面是条件 ($b=$a>=60) 值为真 返回:前面的值 反之返回后面的值

  • bbshen_13
    2017-04-26 16:38:30

    首先>=的等于优先级高于=,先判断$a>=60,条件成立,返回true的值为1,把1赋值给$b,因为($b=$a>=60)?("及格"):("不及格");没有存在的容器,所以不会有判断的结果,想获取及格或者不及格$b=($b=$a>=60)?("及格"):("不及格");想获取$b的分数($b=&$a>=60)?("及格"):("不及格");

  • 烟柳蒙蒙
    2017-04-26 16:22:16

    三元运算符从左到右运算,先算$b=$a>=60。而$b=$a>=60中  >=  优先级比  =  优先级高,先运算>=符号,即80>=60得到1,再将1赋给$b。输出的结果$b就是1了。