开放的编程资料库

当前位置:我爱分享网 > Python教程 > 正文

当 array_key_exists 不起作用时

我一直在我的各种Cgiapp类中进行参数测试,其中一个看起来非常巧妙的测试如下:

if (!array_key_exists('some_string', $_REQUEST)) {
    // some error
}

看起来很简单:$_REQUEST是一个关联数组,我想测试其中是否存在键。当然,我可以使用isset(),但它看起来……丑陋、冗长,而且浪费按键,尤其是当我使用param()方法时:

if (!isset($_REQUEST[$this->param('some_param')])) {
    // some error
}

但是,我遇到了一个陷阱:当涉及到array_key_exists()时,$_REQUEST不完全是一个数组。我认为发生的事情是$_REQUEST实际上是几个其他数组的超集—$_POST$_GET$_COOKIE—和isset()有一些在各种键之间下降的逻辑,而array_key_exists()只能在一个级别上工作。

不管是什么解释,我最终恢复了一堆代码。:-(

未经允许不得转载:我爱分享网 » 当 array_key_exists 不起作用时

感觉很棒!可以赞赏支持我哟~

赞(0) 打赏