2

可能重复:
php中的双等号和三等号

我正在尝试针对各种非空的“空”变量进行测试。经常出现的一种情况是

如果字符串等于“''”(即两个单引号字符),则执行 xyz,否则执行 abc

我有不同类型的变量,可能是 0、'0'(即字符 '0'、ASCII 48,而不是值 0)和“”(空字符串)。所有这些都与“''”相同,即包含两个单引号的字符串。很明显,它们不一样!一个是两个字符的字符串——ASCII 39、ASCII 39——其他的可能是 0、ASCII 48 等。

我已经想出了使用 is_numeric() 等的变通方法,但我不禁想到必须有更好的方法。处理这类事情的首选方法是什么?

非常感谢您对这个看似非常幼稚的问题的耐心。

4

3 回答 3

5

您还可以使用if(!empty($string)) http://php.net/manual/en/function.empty.php获取更多信息。

于 2012-12-13T02:11:04.393 回答
3

您可以使用相同的运算符 (===) 来检查类型和值。有关详细信息,请参阅http://php.net/manual/en/language.operators.comparison.php

于 2012-12-13T02:05:41.037 回答
1

如果您进行相同的检查

if ($string === '')

然后你会得到你想要的结果。

有关运算符类型及其影响的更多详细信息,请参阅此先前的 SO 答案

于 2012-12-13T02:05:14.320 回答