关于php的0,'',false,null引发的空字符串和空格的空字符串的思考
关于php的0,空字符串,false,null引发的空字符串和空格的空字符串的思考,今天在业务开发中遇到一个有点意思的问题,在仔细思考下发现了很有意思的点,接下来出题
<?php
$a = "";
$b = " ";
$c=trim($b);
if($a==$b){
var_dump('===');
}else{
var_dump("!=");
}
echo '<br>';
if($a==$c){
var_dump('===');
}else{
var_dump("!=");
}
?>
以上为实例,不知道大家在初次遇到这个问题会怎么处理,是否会先入为主,而导致你业务出错,浪费宝贵时间。
以下为输出结果
eg:
string(2) "!="
string(3) "==="
我在没有仔细考虑这个问题的时候,一直认为,””、” “的区别,在肉眼上看,这个2个好像都是空字符串,可代码会告诉你,不,他们不一样,但是一定等你仔细看的时候,你一定就会发现,其中一个是因为多了一个空格,而在计算机的时间里,空格也是占用内存空间的,自然在语言处理中,也会进行区别对待。
所以任何事情都不能想当然,眼见不一定为实,一定要多思考,和实践。以下引用一下伟大领袖毛主席的话。
0 条评论