我正在建设一个网站,每次刷新页面时将随机显示一个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/>";
?>