PHP中通过已知密钥数组减少数组的最佳方法是什么?

时间:2011-01-05 00:41:25

标签: php

我正在浏览PHP中的array functions,试图找到魔法棒来做到这一点。

这就是我所拥有的。

$images = array(...);

$randomImages = array_rand($images, 3);

// Now I want to reduce $images by the keys in $randomImages

我可以利用哪些PHP数组函数?

更新

我在挖掘一段时间后最终回答了我自己的问题,但我仍然愿意接受其他解决方案:)

2 个答案:

答案 0 :(得分:2)

我想出了这个,它运作良好......

$images = array_intersect_key($images, array_flip($randomImages));

我也可以使用......

shuffle($images);
$images = array_slice($images, 0, 3);

(以Andre's answer为基础)。

答案 1 :(得分:1)

我建议采用不同的方法,因为它适用于一行:

$images = array_intersect_key($images, array_slice(shuffle(array_keys($images)), 0, 3));

我喜欢单行。