我试图反映newArray = oldArray
的行为,但需要注意排除oldArray
的某些键/值,这类似于newArray = oldArray - undesiredOldKeyValue
。我意识到这完全可以通过foreach
上的oldArray
并使用if
来查看是否需要遇到密钥,但我对更简单或更简洁的方法感兴趣如果可能的话。
要记住几点,我需要根据键而不是值来排除键/值对。我不想在执行此操作的过程中修改oldArray
。
答案 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);
它将使用回调函数过滤数组的元素。