为什么and输出的是1,&&输出的是不同意

来源:5-6 PHP中的逻辑运算符

林书巧

2015-12-04 22:44

<?php
   $a = TRUE; //A同意
$d = FALSE; //D反对

echo $a && $d?"通过":"不通过";

echo $a and $d?"通过":"不通过";

?>

写回答 关注

2回答

  • 慕后端1508769
    2015-12-04 23:55:13
    已采纳

    这个语法本身就有问题,三元运算符的机制是问号前面的条件成立则返回问号后面的内容否则返回冒号后面的内容,而我们表判断的与或非分别为 &&,||,!,你要是用and的话则首先应用括号括起来,你可以试着运行下下面代码

    <?php 
        $a = TRUE; //A同意
        $d = FALSE; //D反对
    
        echo ($a && $d)?"通过":"不通过";
        echo $d and $a?"通过":"不通过";	
    
        echo ($a && $d)?"通过":"不通过";
        echo ($d and $a)?"通过":"不通过";	
    
        echo ($a && $d)?"通过":"不通过";
        echo $a and $d?"通过":"不通过";
    ?>


    财迷煎饼

    示例中的 && 和 || 都没有用括号。有什么影响吗?

    2016-05-24 14:53:00

    共 2 条回复 >

  • 林书巧
    2015-12-04 22:51:05

    考虑到优先级

PHP入门篇

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

456339 学习 · 6589 问题

查看课程

相似问题