繁体   English   中英

根据另一个数组选择数组值

[英]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-CriteriaArray-List选择值,而无需在PHP中遍历Array-List

使用array_intersect_keyarray_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM