这是我的数组:
$not_wanted = array('example1', 'example2');
$from_this_array= array(
'example1'=>'value1',
'example2'=>'value2',
'should_stay'=>'value3'
)
最后我应该有
array('should_stay'=>'value3')
我一直在尝试但它有病
public function aaData($array){
$aaData =array();
foreach ($array as $key=>$item){
if(array_key_exists($key, $this->unset_array)){
unset($array[$key]);
$aaData[] = $item;
}
}
var_dump($aaData);
return $aaData;
}
最佳答案
一种可能的方法:
$not_wanted = array('example1', 'example2');
$from_this_array= array(
'example1'=>'value1',
'example2'=>'value2',
'should_stay'=>'value3'
);
print_r(array_diff_key(
$from_this_array, array_flip($not_wanted)));
Demo .
请注意 array_diff在这里不相关,因为它检查值,而不是键。由于您的第一个 ($not_wanted
) 数组包含值,因此应该将其翻转(变成散列)以使用 array_diff_key在上面。
关于php - 如何根据来自另一个数组的匹配数组键过滤数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15123432/