我知道关于生成随机数的问题有很多答案,但我在将它与我的网站集成时遇到了问题。
我使用RANGE生成一个随机数,然后SHUFFLE。但我仍然在重复数字。
目标:生成0-19之间的数字。数字则对应于正在显示的特定图形。
我的代码:
$numbers = range(0, 19);
shuffle($numbers);
print "<div id='commenter-picture'>";
print "<img src='member_default_" . print_r($numbers[0]) . ".png' />";
print "</div>";
更新:当用户匿名时,我在我的博客上使用此评论。所以我首先检查用户是否登录,如果不是,那么我有这个语句将缩略图分配给博客帖子上的那个评论。我没有在我的代码中重复多次,而是每次有新注释时Drupal CMS都会检索此代码。
当我在帖子上列出10条评论时,我会重复缩略图。这就是我希望消除的。
答案 0 :(得分:1)
取决于“重复数字”的含义。你在同一页面上多次这样做?尝试每次使用array_pop()
或array_shift()
$numbers = range(0, 19);
shuffle($numbers);
print "<div id='commenter-picture'>";
print "<img src='member_default_" . echo array_pop($numbers) . ".png' />";
print "</div>";
print "<div id='commenter-picture'>";
print "<img src='member_default_" . echo array_pop($numbers) . ".png' />";
print "</div>";
// etc...
您可能想循环:
$numbers = range(0, 19);
shuffle($numbers);
while($num = array_pop($numbers)) {
print "<div id='commenter-picture'>";
print "<img src='member_default_" . $num . ".png' />";
print "</div>";
}