无法在array_key_exists上添加两个键

时间:2013-11-28 21:24:28

标签: php wordpress function

我有这段代码:

 <?php
if ( 'debate' != get_post_type() || (is_user_logged_in() && ! array_key_exists( 'comments', $wp_query->query_vars )) ) {
    comment_form();
}
?>

我想在array_key_exists(内添加另一个密钥。我试过这个:

array_key_exists( 'comments','stats', $wp_query->query_vars ))

但是没有用。是否可以在该功能中添加两个键?如果是这样,怎么样?

谢谢!

2 个答案:

答案 0 :(得分:2)

为什么不叫两次?

 <?php
if ( 'debate' != get_post_type() || (is_user_logged_in() && ! array_key_exists( 'comments', $wp_query->query_vars ) && ! array_key_exists( 'stats', $wp_query->query_vars )) ) {
    comment_form();
}
?>

答案 1 :(得分:0)

您可以使用:

<?

function multiple_array_key_exists($keys, $arr) {
    $retval = false;
    if (is_array($keys)) {
        foreach ($keys as $item) {
            if (array_key_exists($item, $arr)) {
                $retval = true;
                break;
            }
        }
    }
    else {
        $retval = array_key_exists($keys, $arr);
    }
    return $retval;
}

?>

如果你传递一个数组作为第一个参数,它将检查所有数组,如果任何一个值是一个键,则返回true。

multiple_array_key_exists(array('a', 'b'), array('b' => 1, 'c' => 2, 'd' => 3 ))