php中的等于是如何判定的?为什么整形的1可以和字符串型的1相等?

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

S_Plus

2016-11-25 08:44

例如
$a=1;
$b="1";
$c=$a==$b;

$c=true

只要值相同就可以相等是吗?

写回答 关注

2回答

  • 挨踢大神
    2016-12-22 22:07:22

    PHP语言会自动转换格式(可以回顾一下前几篇关于格式的内容)

    2个等于号就是等于,只要值相等,类型不同的话也是ture。

    3个等于号才是全等于,需要值和类型都相等。

    如下:

    =:赋值号

    ==:等于;判断值是否相等,不管类型(如:10=="10px" // ture)

    ===:全等于;判断值是否相等,且类型是否一致。 (如:10 === " 10px "    // false)


  • qq_狅嘢_0
    2016-11-25 09:25:08

    <?php 

        $a = TRUE; //A同意

    $b = TRUE; //B同意

    $c = FALSE; //C反对

    $d = FALSE; //D反对

    //咱顺便复习下三元运算符

       echo ($a and $b)?$e:$f;


    echo "<br />";


    echo ($a or $c)?$e:$f;


    echo "<br />";


    echo ($a xor $c xor $d)?$e:$f;


    echo "<br />";


    echo !$c?$e:$f;


    echo "<br />";

            echo $a && $d?$e:$f;


    echo "<br />";


    echo $b || $c|| $d?$e:$f

    ?>


    挨踢大神 回复S_Plus

    上面这个哥应该只是用$e代替通过,$f代替没通过。可以在上方声明abcd时顺便声明一下e和f。否者下面echo不出东西来。。。

    2016-12-22 22:10:29

    共 2 条回复 >

PHP入门篇

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

455957 学习 · 6306 问题

查看课程

相似问题