对于一个电子商务网站,我想生成一个随机优惠券代码,看起来比随机生成的值更好。它应该是一个可读的优惠券代码,全部大写,没有特殊字符,只有字母(A-Z)和数字(0-9)。
因为人们可能会在其他地方读出/打印它,所以我们也需要使它成为一个易于交流的值,可能有8-10个字符。
就像这样,
AHS3DJ6BW
B83JS1HSK
(这是我输入的,所以它并不是那么随机)
发布于 2010-08-19 20:17:37
$chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$res = "";
for ($i = 0; $i < 10; $i++) {
$res .= $chars[mt_rand(0, strlen($chars)-1)];
}
您可以通过预先分配$res
字符串并缓存strlen($chars)-1
的结果来优化这一点。这将留给读者作为练习,因为您可能不会每秒生成数千张优惠券。
发布于 2010-08-19 20:18:05
试试这个:
substr(base_convert(sha1(uniqid(mt_rand())), 16, 36), 0, 10)
发布于 2015-11-27 15:30:19
您可以使用优惠券代码生成器PHP类文件生成N个优惠券及其可定制的,具有添加自己的掩码和自己的前缀和后缀的各种选项。Simple PHP coupon code generator
示例:coupon::generate(8); // J5BST6NQ
https://stackoverflow.com/questions/3521621
复制相似问题