【问题标题】:Generate Random Number for String [closed]为字符串生成随机数[关闭]
【发布时间】:2017-11-18 18:20:32
【问题描述】:

我想生成一个范围从 1 到 40 的随机数。

它将用于 php 或 html 页面。

我只是通过使用他/她的名字向用户显示随机图像。

如果两个或多个用户“同名”,则相同的图像将显示给同名的用户。即,所有具有相同名称的用户使用相同的图像。

例如,假设有 3 个名为“david”的用户和 2 个名为“sandy”的用户。在这种情况下,带有 david 的用户名将使用相同的 3 张图像,而带有“sandy”的用户名将使用另一个随机图像。

任何建议...

【问题讨论】:

  • 请发布一些代码供我们使用。
  • Zac Webb,我需要为特定文本创建一个随机数。当与 tath 名称一起使用时,生成的数字不会改变。
  • @DineshDiNu 我明白这一点。但是我们需要一些您已经编写/尝试使用的代码...
  • 我用 javascript 尝试了最小、最大范围。但它会在页面加载时动态变化..

标签: javascript php html string random


【解决方案1】:

您可以使用随机图像映射人:

var users={};
function getImage(name){
 return  (users[name]=users[name]||Math.random()*40);
}

所以你可以这样做:

getImage("john");//e.g.5
getImage("mike");//6
getImage("john");//5

【讨论】:

  • 谢谢,乔纳斯 w.. 它会工作的.. 再次感谢.. ;-)
【解决方案2】:

Generating unique random numbers (integers) between 0 and 'x'

这个链接会帮助你。 在 Javascript Math.random() 将返回 0 和 1 之间的任何值。因此,如果您想在最大和最小数字之间生成随机值,请使用 Math.round(Math.random() * (max - min) +分钟)

【讨论】:

    【解决方案3】:

    您可以更好地使用数学类来生成随机数。 在下面找到示例代码sn -p

    Math.floor(Math.random() * 40);
    

    将返回值绑定到 Map 中的特定名称。如果您想为所有会话执行此操作,则需要在服务器端处理它

    【讨论】:

    • M.Navy,我试过了.. 但问题是显示用户名的随机数..
    【解决方案4】:

    保存时只需在图像中附加用户 ID。 例如。 "John"+userId+".jpg"。

    【讨论】:

    • 图片是静态的.. 只允许 40 张图片.. 我怎么能用 id 来使用它.. 如果我在 php 数据库中使用它,那对我来说很容易.. :-(
    猜你喜欢
    • 2014-02-01
    • 1970-01-01
    • 2013-04-15
    • 1970-01-01
    • 2011-12-10
    • 2018-03-24
    • 2014-03-17
    • 2017-08-01
    相关资源
    最近更新 更多