[英]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.