问答详情
源自:6-1 PHP-顺序结构

$r4 = 0?0:3; 结果是3; $r4 = 1?1:3; 结果是1 ;求原因?

$r4 = 0?0:3;     结果是3

$r4 = 1?1:3;     结果是1

求原因?

提问者:qq_听得见的安静_0 2016-02-26 15:11

个回答

  • MirosCyer
    2016-02-26 15:52:07
    已采纳

    因为$r4的值是1

  • 初学前端
    2017-12-21 22:32:53

    因为三元运算符第一个值判断的结果是布尔值,也就是0和1,而你直接给了它0和1的值,所以它直接根据这个结果返回值,它就不会再判断,只要前面第一个给的是0,那么返回的永远都是第三个值,同样,只要前面给的不是0,那么返回的也会永远是第二个值,想要正确的返回结果,第一个值需是判断条件!

  • weibo_蓉芳107_03763669
    2016-08-08 11:31:13

    楼主你可以去看看三目运算符是什么功能

  • 枫林残梦
    2016-05-24 20:32:23

    三目运算中的条件,0等于false,1等于true,所以第一个会是后面的结果,第二个会是前面的结果!

  • czdll
    2016-02-26 19:55:58

    这楼主真是。。前面就看见你问的问题了,没想到你还没搞清楚。。。这里的=左边的和=右边的是不同的运算符,有优先级的。。你去看看运算符的优先级吧

  • MirosCyer
    2016-02-26 16:21:22

     $r4 = 0?0:3; 意思是判断r4的值是不是0,如果是0就把0赋值给$r4,如果$r4的值不是0就把3赋值给r4。建议你在看看三元运算符的定义哦