比较字符串以查看它是否为空时,是否有任何区别:
if($string==NULL){
//do work
}
和
if($string==""){
/do work
}
只是想知道因为我想知道哪一个在检测空白输入方面更有效。
答案 0 :(得分:11)
你在这里问几个含糊不清的问题。 PHP和JavaScript不是同一种语言,您在问题标题和正文中引用了不同的运算符。无论如何:
PHP:
'' == null true
'' === null false
JavaScript的:
'' == null false
'' === null false
你可能想要考虑这些测试的一般性“我在这个字符串变量中得到了什么”:
PHP:
if(!empty($string)) {
// do work
}
JavaScript的:
if($string) {
// do work
}
答案 1 :(得分:2)
是的,有区别。检查$ string == Null是否会实际检查变量是否已经初始化,$ string ==“”看起来该字符串实际存在,但是它只保存一个0长度的字符串
答案 2 :(得分:2)
在PHP中测试:
<?php echo var_dump("" === NULL); ?>
在JavaScript中测试:
console.log("" === null)
两者都产生false
,所以你不能用这两种语言来做。
即使它有效,通过与null比较,你的意思并不明显;这不是C,它经常用于缺失值。如果你要获得一个字符串作为输入,那么与空字符串相比就更清楚了。
答案 3 :(得分:1)
答案 4 :(得分:1)
我在PHP中使用empty()函数。它不取决于变量的类型。但是,当与“==”(不是“===”!)进行比较时,与字符串比较时,NULL变为空字符串(“”)。
答案 5 :(得分:0)
在JavaScript中,答案是否定的。空字符串不等于null
,但两者都是假值。
答案 6 :(得分:0)
检查the manual,""
与null
不同,因为前者是字符串,后者为空,===
检查相同类型以及相等值。
答案 7 :(得分:0)