有一种明智的方法可以从我指定的数组APART中删除所有字段吗?
我正在考虑array_diff
的某些方面可行的方法,但我只想列出我想要允许的字段键,然后说'放弃其他所有'。这样做的最佳方式是什么?
非常感谢
答案 0 :(得分:6)
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]);
}
}
答案 1 :(得分:0)
尝试以下代码..这可能对您有用
foreach($array as $key=>&$value) {
if($key!='yourx') {
unset($array[$key])
}
}