PHP代码,用于生成外观不错的优惠券代码(字母和数字的组合)

2022-08-30 23:50:18

对于电子商务网站,我想生成一个随机优惠券代码,看起来比随机生成的值更好。它应该是一个可读的优惠券代码,全部大写,没有特殊字符,只有字母(A-Z)和数字(0-9)。

由于人们可能在其他地方阅读/打印它,我们也需要使它具有易于传达的值,可能长达8-10个字符。

也许,

AHS3DJ6BW 
B83JS1HSK

(我输入了这个,所以它并不是那么随机)


答案 1
$chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$res = "";
for ($i = 0; $i < 10; $i++) {
    $res .= $chars[mt_rand(0, strlen($chars)-1)];
}

可以通过预分配字符串并缓存 的结果来优化此目的。这是留给读者的练习,因为您可能不会每秒生成数千张优惠券。$resstrlen($chars)-1


答案 2

试试这个:

substr(base_convert(sha1(uniqid(mt_rand())), 16, 36), 0, 10)

推荐