php - 如何根据来自另一个数组的匹配数组键过滤数组?

标签 php arrays

这是我的数组:

$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/

相关文章:

php - 如何保存 Facebook 的生日日期?

php - 如何使用 PHP_intl 显示月份名称?

c++ - 非 POD 元素类型的可变长度数组 'string'(又名 'basic_string<char>')c++

python - 在python中计算数组的每日平均值

php - 如何将此数据文件导入 Mysql 表

php - 如何在一个查询中从多个数据库中选择记录?

php - 为什么构建 PDO 连接很慢?

c++ - 加载二维数组

arrays - 数组子集中存在的值的 XOR

c++ - 动态分配 float 组并将其设置为零