“0” 作为 PHP 中空() 的字符串

2022-08-30 14:27:41

我希望将0视为整数,将“0”视为字符串,但a empty()在下面的示例中将“0”视为字符串,

$var = '0';

// Evaluates to true because $var is empty
if (empty($var)) {
    echo '$var is empty';
}

如何“使”empty()将“0”作为字符串?


答案 1

你不能让空()拿走它。这就是它的设计方式。相反,您可以编写一个语句来测试:and

if (empty($var) && $var !== '0') {
    echo $var . ' is empty';
}

您可以使用 ,除非您希望它关闭检查的其他空。issetempty


答案 2

不能使用 .来自 PHP 手册:empty

以下内容被视为空:

  • “”(空字符串)
  • 0(0 为整数)
  • “0”(0 作为字符串)
  • array() (一个空数组)
  • var $var;(已声明的变量,但在类中没有值)

您必须添加其他检查。


推荐