我正在浏览PHP中的array functions,试图找到魔法棒来做到这一点。
这就是我所拥有的。
$images = array(...);
$randomImages = array_rand($images, 3);
// Now I want to reduce $images by the keys in $randomImages
我可以利用哪些PHP数组函数?
我在挖掘一段时间后最终回答了我自己的问题,但我仍然愿意接受其他解决方案:)
答案 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));
我喜欢单行。