【发布时间】:2012-12-10 21:59:14
【问题描述】:
我的代码:
echo "<table width='200px' cellpadding='5' cellspacing='0'><tbody>";
$total = 500;
for ($j = 0; $j < $total;$j++) {
echo "<tr>";
echo "<td>" . ($j+1) . "</td>";
echo "<td>" . get_coupon_code() . "</td>";
echo "</tr>";
}
function get_coupon_code() {
$characters = 'ABCDEFGHJKLMNPQRSTUZWXYZ';
$random_string_length = 8;
$string = '';
for ($i = 0; $i < $random_string_length; $i++) {
$string .= $characters[rand(0, strlen($characters) - 1)];
}
return $string;
}
echo "</tbody></table>";
如何确保生成的每个代码都是唯一的?
【问题讨论】:
-
通过检查之前生成的代码。
-
将优惠券存储在数据库中(例如)并在 do..while 循环中继续生成它们,只要您点击保存在数据库中的代码。
-
搞笑,PeeHaa。 vojtek,我宁愿不在数据库中存储任何东西,而宁愿检查数组或其他东西。
-
@dcolumbus 1. 我从来没有说过任何关于数据库的事情。 2. 真的不觉得好笑。 3. 您生成的代码有些随机,如果您不比较它们,您还能如何期望它们 100% 确定唯一?
-
PeeHaa,如果您可以在上面看到,您会注意到数据库注释指向“vojtek”……而且并非完全没有听说过需要唯一字符串。我的问题是询问如何确保每个代码都是唯一的......这意味着比较它们。