0

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

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

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

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

4

3 回答 3

2

array_slice()在这个应用程序中是一个不错的选择。

$buildingIdArray  = array();
$numbers = range (0, $maxNumberOfBuildings);
shuffle($numbers);
$buildingIdArray=array_slice ($numbers,0,9);
于 2013-06-12T16:29:24.500 回答
1

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

$rand_key = array_rand($buildingIdArray);
echo $buildingIdArray[$rand_key] . "\n";
于 2013-06-12T16:27:59.967 回答
1
$buildingIdArray  = array();
$numbers = range (0, $maxNumberOfBuildings);
shuffle($numbers);
for($i=0;$i<9;$i++) {
    $buildingIdArray[] = $numbers[$i];
}
于 2013-06-12T16:30:03.833 回答