很简单,我只是想知道是否有一种简洁而 Eloquent 方式从关联数组中返回与给定键不匹配的所有值?
$array = array('alpha' => 'apple', 'beta' => 'banana', 'gamma' => 'guava');
$alphaAndGamma = arrayExclude($array, array('alpha'));
$onlyBeta = arrayExclude($array, array('alpha', 'gamma'));
function arrayExclude($array, Array $excludeKeys){
foreach($array as $key => $value){
if(!in_array($key, $excludeKeys)){
$return[$key] = $value;
}
}
return $return;
}
这就是我正在(将要)使用的,但是,是否有更简洁的实现,我可能在手册中遗漏了什么?
最佳答案
虽然这个问题太老了,这个问题有几个答案,但我发布了一个可能对某人有用的解决方案。
您可以从提供的输入中获取所有数组元素,但您定义为排除的某些键除外:
$result = array_diff_key($input, array_flip(["SomeKey1", "SomeKey2", "SomeKey3"]));
这将从 $input
数组中排除具有键 SomeKey1
、SomeKey2
和 SomeKey3
的元素并返回所有其他进入 $result
变量。
关于php - 返回除给定键之外的所有数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5147691/