php - 如何过滤关联数组,将键与索引数组中的值进行比较?

标签 php arrays key filtering whitelist

array_filter() 中的回调函数只传入数组的值,而不是键。

如果我有:

$my_array = array("foo" => 1, "hello" => "world");

$allowed = array("foo", "bar");

删除 $my_array 中所有不在 $allowed 数组中的键的最佳方法是什么?

期望的输出:

$my_array = array("foo" => 1);

最佳答案

array_intersect_keyarray_flip :

var_dump(array_intersect_key($my_array, array_flip($allowed)));

array(1) {
  ["foo"]=>
  int(1)
}

关于php - 如何过滤关联数组,将键与索引数组中的值进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4260086/

相关文章:

php - 自定义PHP错误处理,也不会显示PHP错误

php - Laravel 5.1 将多个重复记录输入数据库

php - 无法使用 PHP 发出 CURL post 请求

php - 如何使用php制作涉及 session cookie的注销页面?

c++ - 无法为数组指定显式初始值设定项

arrays - Ruby - 遍历数组,删除该数组的末尾元素并将其附加到另一个数组

C++:如何将字符串中的每个字符转换为相应的字符?

python - 字典:获取键列表的值列表

javascript - 确保我的 key 始终位于 javascript 对象中的第一个的最简单方法是什么?

php - 使用 Woo Cancel for Customers Plugin 在我的帐户订单列表中添加取消按钮