【发布时间】:2011-07-06 02:00:32
【问题描述】:
简单的一个,我只是想知道是否有一种干净而雄辩的方法可以从关联数组中返回与给定键不匹配的所有值?
$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;
}
这是我(将要)使用的,但是,是否有更简洁的实现,我可能在手册中遗漏了什么?
【问题讨论】:
-
您是否有可能在 $excludeArray 中包含您正在迭代的数组中不存在的值?
-
在 laravel 你可以使用 Arr::except($array , [ 'sdf' , 'sdf' ]) 或者如果请求 $request->except([ 'sdf' , 'sdf' ])
标签: php associative-array