关于php的0,空字符串,false,null引发的空字符串和空格的空字符串的思考,今天在业务开发中遇到一个有点意思的问题,在仔细思考下发现了很有意思的点,接下来出题

<?php
    $a = "";
    $b = " ";
    $c=trim($b);

    if($a==$b){
        var_dump('===');
    }else{
        var_dump("!=");
    }

    echo '
'; if($a==$c){ var_dump('==='); }else{ var_dump("!="); } ?>

以上为实例,不知道大家在初次遇到这个问题会怎么处理,是否会先入为主,而导致你业务出错,浪费宝贵时间。
以下为输出结果
eg:

string(2) "!="
string(3) "==="

我在没有仔细考虑这个问题的时候,一直认为,””、” “的区别,在肉眼上看,这个2个好像都是空字符串,可代码会告诉你,不,他们不一样,但是一定等你仔细看的时候,你一定就会发现,其中一个是因为多了一个空格,而在计算机的时间里,空格也是占用内存空间的,自然在语言处理中,也会进行区别对待。

所以任何事情都不能想当然,眼见不一定为实,一定要多思考,和实践。以下引用一下伟大领袖毛主席的话。

实践才是检验真理的唯一标准—-毛泽东