有没有一种明智的方法可以从我指定的数组 APART 中删除所有字段?
我在想一些array_diff
可以工作的东西,但我只想列出我想允许的字段键,然后说“删除其他所有内容”。这样做的最佳方法是什么?
非常感谢
如果复制数组没问题, array_intersect_key()应该可以工作。
$arr = array(
'A' => 'alpha',
'B' => 'bravo',
'C' => 'charlie',
'D' => 'delta'
);
$allowedKeys = array('B', 'C');
print_r(array_intersect_key($arr, array_flip($allowedKeys)));
# Array
# (
# [B] => bravo
# [C] => charlie
# )
否则,您可以使用 foreach 循环:
foreach ($arr as $key => $value) {
if (!in_array($key, $allowedKeys)) {
unset($arr[$key]);
}
}
试试下面的代码..这可能对你有用
foreach($array as $key=>&$value) {
if($key!='yourx') {
unset($array[$key])
}
}