一个PHP值怎么可能包含一个不等于空字符串或null的零长度字符串


How could a PHP value contain a string of zero length not equal to the empty string or null?

我正在从内部存储中检索一些数据,如果出现故障,我会得到非常具体的响应。对此变量调用strlen()将返回零值。它也不等于NULL或"。我用这个代码来测试:

if ($data === NULL)
{
    echo("data was null'n");
}
else if ($data === "")
{
    echo("data was empty string'n");
}
else if (strlen($data) == 0)
{
    echo("data was length zero'n");
}

该结果是输出CCD_ 2。变量可以包含零长度、非null和非空字符串的内容?

则返回值必须为false。

 echo strlen(false); // outputs 0 

这可能不是一个答案。我只能在你出示var_dump($data);的情况下回答,但我想让我惊讶的是:

$data = "'0";
if ($data === NULL)
{
    echo("data was null'n");
}
else if ($data === "")
{
    echo "data was empty string'n";
}
else if (strlen($data) == 0)
{
    echo "data was length zero'n";
} 
else 
{
    echo "something strange happened'n";
}

输出:something strange happened

:)

试试这个:

    $data = false;

我不知道为什么false有strlen,但它有。