在没有PHP警告的情况下检查数组值是否为空


checking if a array value is not empty without php warnings

我使用Zend_Form子类将数据数组传递给我的控制器,有时我需要在控制器中添加一些额外的逻辑,例如:

$post = $request->getPost();
if (array_key_exists('signatureData', $post) && !empty($post['signatureData'])) {
   ...
}

为了避免得到php警告,首先,我需要检查signatureData键是否存在,只有这样我才能检查值是否为空。

无论如何,我可以使这个IF语句短一点,而不添加自定义php函数?

验收标准:

if (isset($post['signatureData']) && !empty($post['signatureData']))

显然,这也是可能的:

if (!empty($post['signatureData']))

编辑——

如果你真的很懒,有一个肮脏的方法:

if (@$post['signatureData'])

我不建议这样做。

正如在评论中指出的那样,实际上不要使用这个。糟糕,糟糕,糟糕,糟糕。说真的,千万别用它。

使用zf,使用

If ($request->getParam('signatureData', false))

IMO最佳实践