有沒有更簡單,更聰明,更清晰的方式來寫這個?如何檢查多個數組鍵是否存在?
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!";
}
有沒有更簡單,更聰明,更清晰的方式來寫這個?如何檢查多個數組鍵是否存在?
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!";
}
簡單地使用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()
來確定key(元素)是否存在。
使用也可以用這樣的方式..
<?php
function array_keys_exist($keys, $array){
foreach($keys as $key){
if(!isset($array[$key]))return false;
}
return true;
}
?>
你可以這樣說:
<?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
}
可能去'in_array()'和'array_keys()' – Rizier123
HTTP:/ /stackoverflow.com/questions/13169588/how-to-check-if-multiple-array-keys-exists –
'$ keys = ['name','age','size','gender']; $ existCount = count(array_intersect_key(array_flip($ keys),$ array))== count($ keys);' –