是否有一種合理的方式從我指定的列表中刪除數組中的所有字段?PHP從陣列中刪除除x以外的所有內容
我在想着array_diff
可以工作,但我只想列出我想允許的字段鍵,然後說'放棄其他一切'。這樣做的最好方法是什麼?
非常感謝
是否有一種合理的方式從我指定的列表中刪除數組中的所有字段?PHP從陣列中刪除除x以外的所有內容
我在想着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]);
}
}
第一個例子非常棒 - 正是我所追求的。非常感謝! – Tim
試試下面的代碼..這可能爲你工作
foreach($array as $key=>&$value) {
if($key!='yourx') {
unset($array[$key])
}
}
@Wesley van Opdorp 10x用於格式化我的代碼。:) –
你會如何指定這些領域?在代碼中還是動態? –
這是來自數據庫結果的數組嗎? –
爲什麼投下這個問題呢?不管數組是什麼或它來自何處 - 它只是任何給定的數組,使用@PleaseStand的想象力..! – Tim