【发布时间】:2016-06-17 07:43:14
【问题描述】:
在 php 中我可以这样做:
echo rand(5, 15);
它会给我一个介于 5 到 15 之间的数字,每次都不一样。
取决于输入字符串的静态数
echo my_static_number(5, 15, 'some/custom_string');
我仍然想要一个介于 5 到 15 之间的数字。不同之处在于我希望根据第三个参数(一个字符串)来计算它。
- 允许的输出编号 5、6、7、8、9、10、11、12、13、14、15
- 只要函数调用保持不变,每次都使用相同的数字。
现实生活中的例子
文件夹中的图片:
1.jpg
2.jpg
3.jpg
etc.
php 调用:
<img src="<?php echo get_image(1, 15, $url); ?>">
<img src="<?php echo get_image(1, 15, $url); ?>">
输出如下:
<img src="7.jpg">
<img src="7.jpg">
只要函数调用相同,每次相同的数字。
【问题讨论】:
-
您可以调用
rand()函数,然后使用唯一标识符保存返回的号码(例如您的$url),然后在另一个rand()调用之前,您可以检查,如果这个兰特已存在号码。 -
这项工作应该在一般基础上工作还是只在脚本执行时工作?
-
@Yoshi 它不应该在不同的执行中产生不同的结果。如果带参数的函数调用相同,则结果相同。
-
@JensTörnell 我认为您正在寻找某种散列函数。你为什么不改用它呢?
-
@silkfire 而不是什么?但是,是的,很好的答案已经出现,它们是基于哈希的。 :)