无为清净楼资源网 Design By www.qnjia.com
每一个电子商务网站,现在有一种或多种类型的优惠/折扣/优惠券系统,给大家分享一下如何在PHP生成唯一的促销/折扣码。主要是实现一个优惠码系统,可用于跟踪用户来自某些特定的来源,例如有些主机促销的时候链接到别的页面会有优惠码生成,还有更多的促销代码等。因此,今天将讨论这样一个优惠码的实现过程
考虑的需求
代码应该很容易记住,因此保持短的长度是一个好主意,使用户可以很容易地记住它
没有特殊字符!它应该是字母数字组合,因为它会永远是为用户更容易记住
长度推广/折扣代码的正确。没有一个标准的长度,因为它取决于你想生成的长度,例如,如果你想生成1000代码的代码,那么你需要在至少4个字符代码。促销/优惠码长度通常为4到8个字符,但它取决于您的要求。
那好吧,让我们开始吧!让我们来看看代码,然后我会详细解释。它很容易
复制代码 代码如下:
<?php
/**
* @param int $no_of_codes//定义一个int类型的参数 用来确定生成多少个优惠码
* @param array $exclude_codes_array//定义一个exclude_codes_array类型的数组
* @param int $code_length //定义一个code_length的参数来确定优惠码的长度
* @return array//返回数组
*/
function generate_promotion_code($no_of_codes,$exclude_codes_array='',$code_length = 4)
{
$characters = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$promotion_codes = array();//这个数组用来接收生成的优惠码
for($j = 0 ; $j < $no_of_codes; $j++)
{
$code = "";
for ($i = 0; $i < $code_length; $i++)
{
$code .= $characters[mt_rand(0, strlen($characters)-1)];
}
//如果生成的4位随机数不再我们定义的$promotion_codes函数里面
if(!in_array($code,$promotion_codes))
{
if(is_array($exclude_codes_array))//
{
if(!in_array($code,$exclude_codes_array))//排除已经使用的优惠码
{
$promotion_codes[$j] = $code;将生成的新优惠码赋值给promotion_codes数组
}
else
{
$j--;
}
}
else
{
$promotion_codes[$j] = $code;//将优惠码赋值给数组
}
}
else
{
$j--;
}
}
return $promotion_codes;
}
echo '<h1>Promotion / Discount Codes</h1>';
echo '<pre>';
print_r(generate_promotion_code(50,'',4));
echo '</pre>';
?>
该代码由三个参数组成,
第一个参数是你要生成优惠码的个数(在这里是生成50个)。第二个参数exclude array,确保在当前列表中的生成唯一优惠码,所以如果你已经数据库中有一些未使用的代码,你可以把它传递给exclude。最后一个参数是优惠码的的长度。这个函数将返回规定长度的优惠码 这里是4位的优惠码。
这里我已经使用数字和大写字母组合,赋值给$characters的字符串,你可以使用小写字母或任何其他的字母组合试用。此功能的作用是生成唯一的优惠码。这个是PHP版本的,下一次给一个NET版本的,希望能帮助大家
下载地址
考虑的需求
代码应该很容易记住,因此保持短的长度是一个好主意,使用户可以很容易地记住它
没有特殊字符!它应该是字母数字组合,因为它会永远是为用户更容易记住
长度推广/折扣代码的正确。没有一个标准的长度,因为它取决于你想生成的长度,例如,如果你想生成1000代码的代码,那么你需要在至少4个字符代码。促销/优惠码长度通常为4到8个字符,但它取决于您的要求。
那好吧,让我们开始吧!让我们来看看代码,然后我会详细解释。它很容易
复制代码 代码如下:
<?php
/**
* @param int $no_of_codes//定义一个int类型的参数 用来确定生成多少个优惠码
* @param array $exclude_codes_array//定义一个exclude_codes_array类型的数组
* @param int $code_length //定义一个code_length的参数来确定优惠码的长度
* @return array//返回数组
*/
function generate_promotion_code($no_of_codes,$exclude_codes_array='',$code_length = 4)
{
$characters = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$promotion_codes = array();//这个数组用来接收生成的优惠码
for($j = 0 ; $j < $no_of_codes; $j++)
{
$code = "";
for ($i = 0; $i < $code_length; $i++)
{
$code .= $characters[mt_rand(0, strlen($characters)-1)];
}
//如果生成的4位随机数不再我们定义的$promotion_codes函数里面
if(!in_array($code,$promotion_codes))
{
if(is_array($exclude_codes_array))//
{
if(!in_array($code,$exclude_codes_array))//排除已经使用的优惠码
{
$promotion_codes[$j] = $code;将生成的新优惠码赋值给promotion_codes数组
}
else
{
$j--;
}
}
else
{
$promotion_codes[$j] = $code;//将优惠码赋值给数组
}
}
else
{
$j--;
}
}
return $promotion_codes;
}
echo '<h1>Promotion / Discount Codes</h1>';
echo '<pre>';
print_r(generate_promotion_code(50,'',4));
echo '</pre>';
?>
该代码由三个参数组成,
第一个参数是你要生成优惠码的个数(在这里是生成50个)。第二个参数exclude array,确保在当前列表中的生成唯一优惠码,所以如果你已经数据库中有一些未使用的代码,你可以把它传递给exclude。最后一个参数是优惠码的的长度。这个函数将返回规定长度的优惠码 这里是4位的优惠码。
这里我已经使用数字和大写字母组合,赋值给$characters的字符串,你可以使用小写字母或任何其他的字母组合试用。此功能的作用是生成唯一的优惠码。这个是PHP版本的,下一次给一个NET版本的,希望能帮助大家
下载地址
标签:
促销码,优惠码,折扣码
无为清净楼资源网 Design By www.qnjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
无为清净楼资源网 Design By www.qnjia.com
暂无评论...
更新日志
2024年11月15日
2024年11月15日
- 群星《我们的歌第六季 第2期》[FLAC/分轨][385.16MB]
- 童丽《每一个晚上》[低速原抓WAV+CUE]
- 乌兰齐齐格《呼伦牧歌》[原抓WAV+CUE]
- 黄乙玲1988-无稳定的爱心肝乱糟糟[日本东芝1M版][WAV+CUE]
- 群星《我们的歌第六季 第3期》[320K/MP3][70.68MB]
- 群星《我们的歌第六季 第3期》[FLAC/分轨][369.48MB]
- 群星《燃!沙排少女 影视原声带》[320K/MP3][175.61MB]
- 乱斗海盗瞎6胜卡组推荐一览 深暗领域乱斗海盗瞎卡组分享
- 炉石传说乱斗6胜卡组分享一览 深暗领域乱斗6胜卡组代码推荐
- 炉石传说乱斗本周卡组合集 乱斗模式卡组最新推荐
- 佟妍.2015-七窍玲珑心【万马旦】【WAV+CUE】
- 叶振棠陈晓慧.1986-龙的心·俘虏你(2006复黑限量版)【永恒】【WAV+CUE】
- 陈慧琳.1998-爱我不爱(国)【福茂】【WAV+CUE】
- 咪咕快游豪礼放送,百元京东卡、海量欢乐豆就在咪咕咪粉节!
- 双11百吋大屏焕新“热”,海信AI画质电视成最大赢家