PHP字符串与零比较

时间:2014-11-30 18:15:40

标签: php

我需要写一个if条件来检测PHP上的空字符串。但变量也可能得到数字。所以我写下了这样的条件。变量得到零值" 0"作为数字,条件将其检测为空白""

$string = array_search("value match", $array);   //$string = 0;

if($string == "")
{
    echo "not equal";
}

这是PHP的错误吗?我们如何检测可能有数字或字符串的变量的空值(非空)?

2 个答案:

答案 0 :(得分:4)

试试这个:

if ($string === "") { //With three equality signs
}

这是因为0""评估为empty()。这不是一个错误,而是松散打字的副作用。

答案 1 :(得分:2)

使用array_search时,您需要检查错误:

if($string !== false) //Note !== rather than != (stops 0 equating to false)

否则0将被视为' falsy',即使它是有效的返回值(第一个元素/键)