从数组中选择随机值

时间:2013-06-12 16:24:54

标签: php

我在0到44之间需要9个唯一的随机数。我创建一个带range的数组来添加0到44之间的数字,然后我像这样使用shuffle

$buildingIdArray  = array();
$numbers = range (0, $maxNumberOfBuildings);
shuffle($numbers);

我需要一些帮助才能完成代码。我想通过数组索引选择9个数字,我应该使用一个循环来获取0到8之间的索引数,还是应该使用slice来选择数字然后删除该索引?

我想在数组$buildingIdArray中添加9个唯一数字。知道如何解决这个问题吗?

3 个答案:

答案 0 :(得分:2)

array_slice()是此应用程序中的不错选择。

$buildingIdArray  = array();
$numbers = range (0, $maxNumberOfBuildings);
shuffle($numbers);
$buildingIdArray=array_slice ($numbers,0,9);

答案 1 :(得分:1)

如果您只选择一个条目,array_rand()将返回随机条目的密钥。否则,它返回随机条目的键数组。这样做是为了您可以从数组中选择随机键和值。

$rand_key = array_rand($buildingIdArray);
echo $buildingIdArray[$rand_key] . "\n";

答案 2 :(得分:1)

$buildingIdArray  = array();
$numbers = range (0, $maxNumberOfBuildings);
shuffle($numbers);
for($i=0;$i<9;$i++) {
    $buildingIdArray[] = $numbers[$i];
}