我在0到44之间需要9个唯一的随机数。我创建一个带range
的数组来添加0到44之间的数字,然后我像这样使用shuffle
:
$buildingIdArray = array();
$numbers = range (0, $maxNumberOfBuildings);
shuffle($numbers);
我需要一些帮助才能完成代码。我想通过数组索引选择9个数字,我应该使用一个循环来获取0到8之间的索引数,还是应该使用slice
来选择数字然后删除该索引?
我想在数组$buildingIdArray
中添加9个唯一数字。知道如何解决这个问题吗?
答案 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];
}