【发布时间】:2010-07-27 20:09:16
【问题描述】:
我正在我的数据库中构建一个“代理 ID”列表,并满足以下要求:
- ID 必须为 9 位数字(仅限数字)
- ID 不能包含超过 3 个相同的数字。
- ID 不能连续包含超过 2 个相同的数字(即 887766551;不能有 888..)
到目前为止,我已经完成了第 1 部分,但在上面的第 2 和第 3 部分中挣扎。我的代码如下。
function createRandomAGTNO() {
srand ((double) microtime( )*1000000);
$random_agtno = rand(100000000,900000000);
return $random_agtno;
}
// Usage
$NEWAGTNO = createRandomAGTNO();
有什么想法吗?
【问题讨论】:
-
一个微优化... 将您的
rand调用从100112233绑定到998877665(可能的最低和最高匹配,因此您减少了很多不必要的尝试)。 .. -
+1 好想法 ircmaxell! ..