我正在建立一个网站,每次页面刷新时都会随机显示一个Yelp列表。yelp搜索API返回一个数组中的20个列表。现在,我使用PHP的函数兰德(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/>";
?>
3条答案
按热度按时间lnxxn5zx1#
最简单的解决方案:
备选方案:
类似问题:#5612656
Codepad:http://codepad.org/cBaGHxFU
更新:
您将在一个名为
$businesses
的数组中获取所有列表。1.使用上面给出的方法生成一个随机列表ID,然后将其存储在数据库表中。
1.在每次刷新页面时,生成一个随机列表ID,并检查它是否与数据库中的值匹配。如果没有,显示该列表并将该值添加到表中。
1.转到步骤1。
完成后,您将一次显示所有20个列表。
希望这有帮助!
lvjbypge2#
试试这个代码
jq6vz3qz3#
我会尝试使用while循环: