if(!empty($ thing))vs if($ thing)

jon*_*ohn 5 php conditional-statements

这两个语句是否完全相同,$thing可以是任何类型的?

if (!empty($thing)) {
    // do stuff
}

if ($thing) {
    // do stuff
}
Run Code Online (Sandbox Code Playgroud)

我知道我可以尝试一下,但我不确定我会抓住所有边缘情况......我担心在某些情况下它们会执行相同但不是全部.

MrG*_*ass 4

如果$thing未定义,则将if ($thing)抛出(非致命)错误,同时if (!empty($thing))返回 false。

请参阅PHP 文档中的empty() 。

  • `if (!empty($thing)` 的计算结果为 `false`。 (4认同)