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

来源:6-1 PHP-顺序结构

qq_听得见的安静_0

2016-02-26 15:11

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

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

求原因?

写回答 关注

6回答

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

    因为$r4的值是1

    qq_听得见...

    那 $r4 = 0?0:3; $r4的值是0呢 为啥输出是3 .。。

    2016-02-26 16:10:07

    共 2 条回复 >

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

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

    慕村5099...

    还是你说的通透,谢谢

    2018-07-20 16:03:16

    共 1 条回复 >

  • 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

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

    qq_听得见...

    嗯嗯 我懂了 谢谢

    2016-02-27 11:40:02

    共 1 条回复 >

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

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

    花落相随0 回复qq_听得见...

    1为真,所以去第一个 0为假 则是后面的那个

    2016-03-08 14:56:54

    共 2 条回复 >

PHP入门篇

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

455995 学习 · 6306 问题

查看课程

相似问题