新手 - php - 测试'空'字符串

时间:2012-12-13 02:02:10

标签: php compare quotes zero

  

可能重复:
  Double equals and tripple equals in php

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

  

如果一个字符串等于“''”(即两个单引号字符),那么   xyz,否则做abc

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

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

非常感谢你耐心等待一个非常天真的问题。

3 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:3)

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

答案 2 :(得分:1)

如果您进行相同的检查

if ($string === '')

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

有关运营商类型及其效果的详细信息,请参阅this previous SO answer