将Array等于另一个没有指定键/值的数组

时间:2017-07-10 14:48:55

标签: php arrays

我试图反映newArray = oldArray的行为,但需要注意排除oldArray的某些键/值,这类似于newArray = oldArray - undesiredOldKeyValue。我意识到这完全可以通过foreach上的oldArray并使用if来查看是否需要遇到密钥,但我对更简单或更简洁的方法感兴趣如果可能的话。

要记住几点,我需要根据键而不是值来排除键/值对。我不想在执行此操作的过程中修改oldArray

1 个答案:

答案 0 :(得分:0)

您可以尝试使用array_filer。类似的东西:

$new_array = array_filter($old_array, function ($value, $key) {
    // return false if you don't want a value, true if you want it.
    // Example 1: `return $value != 'do not keep this one';`
    // Example 2: `return !in_array($key, ['unwanted-key1', 'unwanted-key2', 'etc']);`
}, ARRAY_FILTER_USE_BOTH);

它将使用回调函数过滤数组的元素。