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

时间:2018-10-10 14:59:32

标签: php

我有2个数组:“ Array-List”和“ Array-Criteria”:

Array-List
(
    [1] => APPLE
    [2] => BANANA
    [3] => ORANGE
    [4] => LEMON
)

Array-Criteria
(
    [0] => 1
    [1] => 3
)

有没有一种快速的方法(我的Array-List可以包含成千上万个条目),可以基于Array-ListArray-Criteria中选择值,而无需在PHP中循环访问Array-List

2 个答案:

答案 0 :(得分:2)

使用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)));

答案 1 :(得分:0)

如果您遍历这些条件,则可以构建一个列表项...

$selected = [];
foreach ( $arrayCriteria as $element ) {
    $selected[] = $arrayList[$element];
}

然后$selected将是您所收藏的物品的列表。

在快速测试中,它的速度大约是使用array_方法的两倍。