我有5个jpg,名字是01.jpg,02.jpg.....05.jpg。我有一个小脚本,生成一个介于1-5之间的数字,并购买与之相关的jpg……好吧..。但每次我重新加载页面时,图片都是随机的,所以不同,但只有5张图像,我在重新加载时得到的图像比我想要的要多得多……所以问题是..。热以确保,在网页重新加载时,随机数应该在1-5之间,而不是与前一秒相同…因此,我肯定会看到连续5次重新加载至少5张图片!
请给我ajvascript的php
代码如下:
<style type="text/css">
#photo { background-image: url(http://www.something/pano-0<?php echo mt_rand (1,5) ?>.jpg); }
</style>注意:对于那些告诉我们这是一个序列的人来说...不我喜欢随机的..。至少不要选择相同的
假设#3出现了,你这个随机的.你可以有1, 2,3,4,5,2,2,3,4,5,2,2,4,5,如果是3,重新随机!
发布于 2011-02-26 08:44:45
与@Jon Snyder的答案非常相似,但使用$_SESSION而不是$_GET
<?php
// initialize session
session_start();
// array of possible images
$images = array('01.jpg', '02.jpg', '03.jpg', '04.jpg', '05.jpg');
// check if user has seen an image before
$last = isset($_SESSION['last_img']) ? $_SESSION['last_img'] : -1;
// generate a random number that isn't the same as $last
do { $num = rand(0, count($images)-1); } while ($num == $last);
// display image
echo '<img src="' . $images[$num] . '">' . PHP_EOL;
// save last image in $_SESSION
$_SESSION['last_img'] = $num;
?>发布于 2011-02-26 08:22:57
掷骰子。你有没有连续两次甚至三次得到相同的数字?你怀疑骰子的随机性吗?
对于5张图像,您有20%的机会这次的图像将与上一次相同。你不会想要随机分布的。你只是想每次都旋转它们。我们承诺不会告诉您的用户它不是真正随机的;)
发布于 2011-02-26 08:30:51
当您请求下一张图片时,使用当前图片的id追加一个查询字符串参数。然后,在您的php代码中,获取该值并使用它生成一个不同的随机数。
http://yourdomain/randomPicture.php?last=1
<?php
$last = $_GET['last'];
do {
$next = rand(5);
} while( $next != $last);
echo '<img src="/picture'.$next.'.jpg" />';
echo '<a href="/randomPicture.php?last='.$next.'" >next</a>';https://stackoverflow.com/questions/5124116
复制相似问题