如何检查是否存在多个数组键?

时间:2016-04-15 11:23:20

标签: php

有没有更简单,更智能,更清晰的方式来写这个?

   if (array_key_exists("name",$array) AND array_key_exists("age",$array) AND array_key_exists("size",$array) AND array_key_exists("gender",$array){
       echo "Keys exist!";
    }

3 个答案:

答案 0 :(得分:4)

简单地使用语言结构isset()

语言结构比函数快得多。

<?php
$findKeys = array('name', 'age', 'size', 'gender');
if (! empty($findKeys) && ! empty($array)) {
    foreach ($findKeys as $findKey) {
        if (isset($array[$findKey])) {
            echo 'Keys exist!';
        }
    }
}

<强>解释

1)创建一个需要查找的4个键的数组。

2)遍历此数组并使用isset()查明密钥(元素)是否存在。

答案 1 :(得分:1)

使用也可以这样使用..

<?php
function array_keys_exist($keys, $array){
    foreach($keys as $key){
        if(!isset($array[$key]))return false;
    }
    return true;
}
?>

答案 2 :(得分:1)

你可以这样做:

<?php

$array = array(
    'index1'=>'value1',
    'index2'=>'value2',
    'index3'=>'value3'
);

$indexesToSearch = array('index1', 'index2');

if(count(array_intersect(array_keys($array), $indexesToSearch)) == count($indexesToSearch))
{
    // ... do something
}