[英]Select array values based on another array
我有2個數組:“ Array-List”和“ Array-Criteria”:
Array-List
(
[1] => APPLE
[2] => BANANA
[3] => ORANGE
[4] => LEMON
)
Array-Criteria
(
[0] => 1
[1] => 3
)
有沒有一種快速的方法(我的Array-List
可以包含成千上萬個條目),可以基於Array-Criteria
從Array-List
選擇值,而無需在PHP中遍歷Array-List
?
使用array_intersect_key
和array_flip
函數以如下方式獲取數據:
$arr1 = Array-List
(
[1] => APPLE
[2] => BANANA
[3] => ORANGE
[4] => LEMON
)
$arr2 = Array-Criteria
(
[0] => 1
[1] => 3
)
var_dump(array_intersect_key($arr1, array_flip($arr2)));
如果您遍歷這些條件,則可以構建一個宏項列表...
$selected = [];
foreach ( $arrayCriteria as $element ) {
$selected[] = $arrayList[$element];
}
然后$selected
將是您所需要的項目的列表。
同樣在快速測試中,它的速度大約是使用array_
方法的兩倍。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.