如何从PHP列表中选择10个随机内容?

sai*_*ish 10 php arrays random

我知道如何从数组中选择一个随机项,但是如何从一个数组中选择十个随机项,比方说二十个项?(在PHP中.)

更复杂的是每个项目实际上有两个部分:文件名和描述.基本上,它是一个网页,每次重新加载时将显示十个随机图像.这些数据的实际格式并不重要,尽管它很简单,我宁愿将其包含在平面文本中,甚至是硬编码,而不是设置数据库.(这也不是经常改变的.)

奖金问题,不确定我是否会这样做 - 但是你如何对参赛作品进行加权,以便某些项目总是被选中,或者至少比其他项目更频繁?

谢谢.

Gum*_*mbo 22

您可以shuffle使用数组然后选择前十个元素array_slice:

shuffle($array);
$tenRandomElements = array_slice($array, 0, 10);
Run Code Online (Sandbox Code Playgroud)


Mr.*_*ith 16

如何从php中的数组中选择一个或多个随机项:http://us3.php.net/manual/en/function.array-rand.php

如何做随机加权元素:http:
//20bits.com/articles/random-weighted-elements-in-php/