首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >实随机数

实随机数
EN

Stack Overflow用户
提问于 2011-02-26 08:14:12
回答 5查看 932关注 0票数 2

我有5个jpg,名字是01.jpg,02.jpg.....05.jpg。我有一个小脚本,生成一个介于1-5之间的数字,并购买与之相关的jpg……好吧..。但每次我重新加载页面时,图片都是随机的,所以不同,但只有5张图像,我在重新加载时得到的图像比我想要的要多得多……所以问题是..。热以确保,在网页重新加载时,随机数应该在1-5之间,而不是与前一秒相同…因此,我肯定会看到连续5次重新加载至少5张图片!

请给我ajvascript的php

代码如下:

代码语言:javascript
复制
<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,重新随机!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-02-26 08:44:45

与@Jon Snyder的答案非常相似,但使用$_SESSION而不是$_GET

代码语言:javascript
复制
<?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;
?>
票数 5
EN

Stack Overflow用户

发布于 2011-02-26 08:22:57

掷骰子。你有没有连续两次甚至三次得到相同的数字?你怀疑骰子的随机性吗?

对于5张图像,您有20%的机会这次的图像将与上一次相同。你不会想要随机分布的。你只是想每次都旋转它们。我们承诺不会告诉您的用户它不是真正随机的;)

票数 4
EN

Stack Overflow用户

发布于 2011-02-26 08:30:51

当您请求下一张图片时,使用当前图片的id追加一个查询字符串参数。然后,在您的php代码中,获取该值并使用它生成一个不同的随机数。

http://yourdomain/randomPicture.php?last=1

代码语言:javascript
复制
<?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>';
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5124116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档