这是我的阵列:

$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

09-26 03:38