生成无重复的随机数
我正在建立一个网站,每次刷新页面时都会随机显示一个yelp列表。yelp 搜索 api 在一个数组中返回 20 个列表。现在,我正在使用PHP的函数rand(0,19)在每次刷新页面时生成一个随机列表($businesses[rand(0,19)])。
有人可以向我推荐一种更智能的随机化方法吗?我想在重复任何一个列表之前显示所有20个列表一次。处理此问题的首选方法是什么?
下面的答案不起作用,因为每次我刷新页面时都会重新创建数字。我想我需要存储我已经使用过哪些数字?
$numbers = range(0, 19);
shuffle($numbers);
// Handle Yelp response data
$response = json_decode($data);
$RANDOM = rand(1,19);
$business = $response->businesses;
echo "<img border=0 src='".$business[$RANDOM]->image_url."'><br/>";
echo $business[$RANDOM]->name."<br/>";
echo "<img border=0 src='".$business[$RANDOM]->rating_img_url_large."'><br/>";
?>