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

时间:2011-11-29 18:27:08

标签: php zend-framework

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

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

为了避免获得php警告,首先,我需要检查signatureData密钥是否存在,然后我才能检查该值是否为空。

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

2 个答案:

答案 0 :(得分:6)

接受标准:

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

显然,这也是可能的:

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

-edit -

如果你真的很懒,那就是肮脏的方式:

if (@$post['signatureData'])

我建议不要这样做。

正如评论中指出的那样,实际上并没有使用它。这是坏事,坏事,坏事,坏事。真的,请不要使用它。它仅作为参考。

答案 1 :(得分:1)

使用zf,使用此

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

最佳实践IMO