如何使用另一个数组中的值作为键从数组中选择值的子集?

时间:2015-04-01 15:16:04

标签: php arrays

这是我的$keys数组:

Array
(
    [0] => 1
    [1] => 3
    [2] => 4
)

我的$values

Array
(
    [0] => Red
    [1] => Orange
    [2] => Yellow
    [3] => Green
    [4] => Blue
)

我想使用$values中的值作为键创建$keys中某些值的新数组:

Array
(
    [1] => Orange
    [3] => Green
    [4] => Blue
)

显然我可以foreach获得我想要的值,但我想确保我不会忽略过多的PHP数组函数。

我已经用Google搜索了问题,然后使用array_combine回复,这将无法达到所需的输出。

感谢您的帮助:)

1 个答案:

答案 0 :(得分:5)

翻转$keys数组以生成值键,然后使用array_intersect_key()

$result = array_intersect_key($values, array_flip($keys));

返回$values中与翻转的$keys具有相同键的值。