PHP生成唯一的促销/优惠/折扣码(附源码)
每一个电子商务网站,现在有一种或多种类型的优惠/折扣/优惠券系统,给大家分享一下如何在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版本的。
每一个电子商务网站,现在有一种或多种类型的优惠/折扣/优惠券系统,给大家分享一下如何在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版本的。
自己制定好优惠券编号规则:比如长度多少,肯定不能重复
用PHP生成优惠券号码,插入到数据库,有人获得优惠券就是得到了一个已经生成在数据库里面的优惠券号码,兑现的时候,要求客户输入优惠券号码 ,并与数据库记录对比,如果有该记录那么将此优惠券信息标识为已经使用;如果已经使用了那么抛出错误提示; 如果根本不存在,则可能是用户伪造的优惠券。
用PHP生成优惠券号码,插入到数据库,有人获得优惠券就是得到了一个已经生成在数据库里面的优惠券号码,兑现的时候,要求客户输入优惠券号码 ,并与数据库记录对比,如果有该记录那么将此优惠券信息标识为已经使用;如果已经使用了那么抛出错误提示; 如果根本不存在,则可能是用户伪造的优惠券。
你是要生成优惠券的代码还是使用优惠券的代码?
本文链接:https://you-hui.com/youhuidaquan/PHP-ru-he-shi-xian-dian-zi-shang-cheng-you-hui-juan-1740100558.html
标签: PHP php优惠券插件 电子商城 优惠卷
标签: PHP php优惠券插件 电子商城 优惠卷
猜你喜欢
- 弥勒锦屏山风景区门票优惠政策2023
- 618衣服有羽绒服吗
- 买镜头京东618会便宜吗
- 团购达人标签怎么写
- 首套房是婚前财产买第二套房子有优惠么
- 合肥拼多多仓库在哪里
- 淘宝618活动手机满多少减多少?条件是什么?
- 品牌折扣服装库存尾货进货有哪些技巧
- 便宜的意思便宜的意思是什么
- 那些买豪车赠送的自行车质量怎么样?
- 邦华手机c5哪位朋友在用,质量怎么样,我准备买一个,提下建议吧
- 北京故宫门票怎么买,故宫门票怎么买
- 怎样知道自己买的学生票是否在区间内
- 淘宝预售未按时间发货有违约金吗?要求是什么?
- 叫我大掌柜手游内测折扣号怎么弄得,充值安全吗
- DARPHIN 芳香洁净调理膏-购买最佳价格
- 如何使用高德60岁免费打车优惠券?
- 龙城传奇哪里有充值优惠?
- 奥迪Q7新款落地价是多少钱?奥迪Q7优惠价
- 哪些品牌的方便面好吃又便宜?
- GIVENCHY 纪梵希 高定香榭天鹅绒唇膏 #N307石榴红 3.4g-购买最佳价格...
- 合肥买钻戒什么地方好 合肥哪里的钻戒性价比高
- 本田雅阁的最底价格是多少,具体是多钱,我打算近期买
- 京东30天价保包括优惠券吗?618可以包括吗?
- 惠生活黄金会员初级版是免费的吗?
- 国内商场卖手表保真么(商场买的手表是正品吗)
- 南昌蔻驰奥特莱斯品牌折扣店是正品吗
- 小桔充电如何享受运营商会员优惠?
- 有什么免费的打车软件?或者打车优惠券?(能3折坐车的那种)
- 泉州华大泰禾广场怎么样?好不好?值不值得买?
- 真三国无双8帝国早期预购特典介绍
- 京东双十一什么时候最便宜?几号优惠最大?
- 关于夏季农事活动有哪些
- 天猫618钱包是真的吗
- 在迪奥官网买东西要优惠码,为啥啊
- 散客拼团的正确方法_北京喆啡酒店怎么订房便宜
- 成都批发外贸和好看的女装衣服在哪里啊便宜的进价哦
- 沃尔沃xc60到底值不值得买(沃尔沃xc60质量怎么样)
- vivo官方手机怎么买便宜
- 东莞石碣新城御珑公馆开发商怎么样?实力如何?值得买吗?
- 多多买菜群公告怎么写
- 范思哲vjc为什么便宜
- 哪个银行加油有优惠
- 寄大件快递省钱方法
- 现在年轻人创业有什么优惠的政策么?
- 2023年中秋节黄金会降价促销吗?
- 华泰证券南京中华路是谁的席位
- 在北京买车被骗了怎么办
- 订酒店最便宜的软件订酒店最便宜的软件是哪个
- 吉香居 香菜芯 306g-购买最佳价格
相邻内容
- 哪个银行的ETC比较实惠一些?
- 比亚迪M6怎么样?值得买吗?
- 艾尔登法环为什么这么便宜?
- 如何获取去哪儿网返现优惠券
- 郑州,生日当天的优惠,的地方
- 京东优惠券忘记用了事后能补吗
- 逆水寒手游券包怎么叠加
- 铁路帝国仓库怎么用介绍_铁路帝国仓库怎么用是什么
- 美团优惠券在哪买
- 尘缘(送妖后欧皇招募)哪里折扣最低?
- 为什么steam游戏在淘宝更便宜?
- 2021江苏就地过年旅游景区优惠名单 江苏全省315家A级旅游景区免费开放...
- 2%的现金折扣,应该是原价x2%,为什么是原价x(1一2%),那为什么要叫折扣了...
- 如何在美国匡威官方网站上购物!
- 哪些高质量手游折扣力度大
- 聚划算参与满减活动吗?活动力度大吗?
- 联想商城官网:电子产品购物的选择
- 2022延吉市建州70周年景区优惠活动汇总
- 郑州家具比长治便宜吗
- 开盘时有哪些折扣
- 京东购物可以用信用卡支付吗?
- 海底捞折扣券在哪里查看呢?
- 小规模纳税人享受税收优惠如何做账
- 究竟使用了 Apple Pay 支付有优惠活动吗
- vtn别人用了我的优惠码购物我会知道吗
- 如何才能得到天猫的优惠券呢?
- 惠州哪里有耐克专卖店
- 在京东买特步的女装棉衣可靠吗?
- 买房怎么谈折扣最大?这几种方法值得一试
- 2023武汉光谷马拉松,2023武汉光谷购车补贴政策
- 小米游戏中心优惠券兑换码在哪里领
- 深圳通优惠政策
- 2024年双十一买酒会更便宜吗?应该怎么选酒?
- 国美电器优惠券怎么激活?
- 发几张视客网的优惠券,只限新人使用哦! SIGO10101525128131593 SIG...
- gucci的包包在香港和法国哪个更便宜呢??
- 我在京东上买联通合约机如何选号码的归属地?
- 华山门票有什么优惠政策
- 淘宝优惠券在哪?
- 特价瓷砖哪里买?