【发布时间】:2012-08-14 21:24:26
【问题描述】:
我的代码:
$random_number = mt_rand(1,100);
if ($random_number <= 10){
header('Location: http://www.site1.com');
} else {
header('Location: http://www.site2.com');
}
exit;
不用说,如果您有大量流量,这似乎可行,但是当您每天的唯一身份减少到 1000 个左右时,该百分比徘徊在 35% 到 40% 左右。
【问题讨论】:
-
随机数很少按照您的预期行事。
-
@MarcB 我知道你在那里做了什么! :)
-
根据您的代码,由于
<实际上应该是<=,用户应该只被重定向(平均)9% 的时间。虽然,tbh,你为什么不只是选择一个随机数 1 到 10 并与数字 1 进行检查? -
为什么不在网络服务器上存储一个计数器?计数器可以存储在文件、数据库、memcached、redis 或任何浮动的东西中。只需数到 10,然后重定向并重置计数器。
-
@Nile,其实真正的代码是
标签: php random numbers web-traffic