php - 返回除给定键之外的所有数组元素

标签 php associative-array

很简单,我只是想知道是否有一种简洁而 Eloquent 方式从关联数组中返回与给定键不匹配的所有值?

$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;
}

这就是我正在(将要)使用的,但是,是否有更简洁的实现,我可能在手册中遗漏了什么?

最佳答案

虽然这个问题太老了,这个问题有几个答案,但我发布了一个可能对某人有用的解决方案。

您可以从提供的输入中获取所有数组元素,但您定义为排除的某些键除外:

$result = array_diff_key($input, array_flip(["SomeKey1", "SomeKey2", "SomeKey3"]));

这将从 $input 数组中排除具有键 SomeKey1SomeKey2SomeKey3 的元素并返回所有其他进入 $result 变量。

关于php - 返回除给定键之外的所有数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5147691/

相关文章:

Java 关联数组作为方法的选项

javascript - 我应该在 AngularJS 中使用关联数组吗?

php - 关联到 PHP 中的数值数组

bash - 有没有办法在 Bash 脚本中创建键值对?

php - 使用 Javascript 动态更改 PHP 值

php - magento 自定义 html 打印顺序

php - MYSQL PHP 在textarea中保存换行符以备后用

php - 3 个表之间的链接显示 1 条记录而不是 254 条记录

php - 在 PHP 中,如何迭代数组并动态更改键?

javascript - 制作字典,其键等于所有 ASCII 字符