我发现这个Stack Overflow post解释了如何生成随机优惠券代码。
我正在考虑使用该代码并一次生成多个优惠券(例如50),同时用逗号分隔。
输出将是:COUPON-HMECN,COUPON-UYSNC等。
以下代码和codepad example available。
$chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$res = "COUPON-";
for ($i = 0; $i < 5; $i++) {
$res .= $chars[mt_rand(0, strlen($chars)-1)];
}
echo $res . ",";
答案 0 :(得分:0)
$chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$numCodesToGenerate = 5;
for ($n = 0; $n < $numCodesToGenerate; $n++)
{
$res = "COUPON-";
for ($i = 0; $i < 5; $i++) {
$res .= $chars[mt_rand(0, strlen($chars)-1)];
}
echo $res . ",";
}
答案 1 :(得分:0)
这是一个更整洁的版本(更快),可以满足您的需求:
function MakeCouponCode() {
$res = "COUPON-";
for($i = 0; $i < 5; ++$i)
$res .= chr(mt_rand(0, 1) == 0 ? mt_rand(65, 90) : mt_rand(48, 57));
return $res;
}
$coupons = array();
for($i = 0; $i < 5; ++$i)
$coupons[] = MakeCouponCode();
echo implode(', ', $coupons);
输出:
COUPON-D707Y, COUPON-4B37E, COUPON-3O397, COUPON-M799X, COUPON-24Q36
答案 2 :(得分:0)
为什么不使用uniqid()?
$coupon_str = '';
$seperator = '';
for($i = 0; $i < 50; $i++) {
$coupon_str .= $seperator . uniqid('COUPON-');
$seperator = ',';
}
echo $coupon_str;
输出:
COUPON-502373ac95dd2,COUPON-502373ac95de8,COUPON-502373ac95ded,....
答案 3 :(得分:0)
您可以使用优惠券代码生成器PHP类文件生成N个优惠券及其可自定义,具有添加自己的掩码和自己的前缀和后缀的各种选项。优惠券代码用逗号分隔。 Simple PHP coupon code generator
实施例:
coupon::generate(8); // J5BST6NQ