php生成 优惠券 激活码
/**
* 生成vip激活码
* @param int $nums 生成多少个优惠码
* @param array $exist_array 排除指定数组中的优惠码
* @param int $code_length 生成优惠码的长度
* @param int $prefix 生成指定前缀
* @return array 返回优惠码数组
*/
public function generateCode( $nums,$exist_array='',$code_length = 6,$prefix = '' ) { $characters = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnpqrstuvwxyz";
$promotion_codes = array();//这个数组用来接收生成的优惠码 for($j = 0 ; $j < $nums; $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($exist_array) ) { if( !in_array($code,$exist_array) ) {//排除已经使用的优惠码 $promotion_codes[$j] = $prefix.$code; //将生成的新优惠码赋值给promotion_codes数组 } else { $j--; } } else { $promotion_codes[$j] = $prefix.$code;//将优惠码赋值给数组 } } else {
$j--;
}
} return $promotion_codes;
}
上述方法可以直接拷贝使用
下面列出个人优惠券激活码的数据表设计,各位看官感觉是否有用
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `vip_card`
-- ----------------------------
DROP TABLE IF EXISTS `vip_card`;
CREATE TABLE `vip_card` (
`id` int(11) NOT NULL,
`code` char(10) DEFAULT '' COMMENT '激活码',
`bid` int(11) DEFAULT '0' COMMENT '购买人',
`uid` int(11) DEFAULT '0' COMMENT '使用人',
`dlength` int(11) DEFAULT '0' COMMENT '时长',
`act_date` date DEFAULT '0000-00-00' COMMENT '激活时间',
`end_date` date DEFAULT '0000-00-00' COMMENT '结束时间',
`exp_date` date DEFAULT '0000-00-00' COMMENT '过期时间[如果送激活码的话,使用这个字段,过期多少天不可激活]',
`localcity` int(11) DEFAULT '0' COMMENT '城市code',
`create_time` datetime DEFAULT '0000-00-00 00:00:00' COMMENT '创建时间',
`is_use` int(5) DEFAULT NULL COMMENT '是否已经使用 0未使用 1已使用',
PRIMARY KEY (`id`),
KEY `index_code` (`code`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='激活码';
-- ----------------------------
-- Records of vip_card
-- ----------------------------
php生成 优惠券 激活码的更多相关文章
- 如何使用Python生成200个优惠券(激活码)
解析: 常见的优惠券(激活码)是由数字.字母(大小写)组成: string.ascii_letters 26个大小写字母: string.digits 0-9数字: 随机组合 使用random.s ...
- python3 生成随即激活码
import string import random #激活码中的字符和数字 field = string.ascii_letters + string.digits #获得四个字母和数字的随即组合 ...
- Python 练习册--生成唯一激活码(邀请码)
题目是这样子的: 做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)? 分析 其实要生成 ...
- PHP 生成唯一激活码
<?php /** * 从来没有产生一个唯一的激活码 * @return string */ function create_guid($namespace = null) { static $ ...
- php 生成8位数唯一的激活码
/** *生成激活码 */ function showGenerationActivationCode(){ #渠道类型id $channel_id=$_POST['channel']; #根据渠道i ...
- Python3.7 练习题(-) 如何使用Python生成200个优惠卷(激活码)
# 如何使用Python生成200个优惠卷(激活码) import random import string # string.ascii_letters 26个大小写 # -9数字 # 获得激活码中 ...
- PHP 生成唯一的激活码
<? php /** * 生成永远唯一的激活码 * @return string */ function create_guid($namespace = null) { static $gui ...
- 005-做题:使用 Python 生成 200 个激活码
题目:使用 Python 生成 200 个不重复的激活码 编写思路# 激活码一般是由26个大写字母和10个数字任意组合而成# 长度为12位或者16位的居多激活码# 一个激活码里的字符是可以重复的,而且 ...
- Python 如何生成 200 个激活码
请用 Python 如何生成 200 个激活码. 激活码的格式为asqE-9xRK-lqWU-QkMT 要求1: 使用随机生成时,生成数字概率为1/5,大写字母和小写字母概率各为2/5 要求2: 这2 ...
随机推荐
- 导出excel——入门
简单介绍 Jxl使用总结 样例 java使用jxl操作Excel文件总结
- 【HTML】Jquery前台传参及接收
在一些网页应用中,有的时候需要前台之间传递参数,通过JS语法来做一些判断处理. 发送端:(a页面) <a href="b.html?Show=true" id="t ...
- SMARTFORM报表程序设计(2)
在创建并设置好STYLE程序之后,在SMARTFORM页面选择单选框FORM输入报表程序名称(ZS_SFLIGHT),点击CREATE按钮即可进入SMARTFORM BUILDER图形设置界面,SMA ...
- cookie标准话
php设置cookie setcookie( * * ,'/'); setcookie( * * ,'/'); //清除cookie setcookie("loginname",' ...
- 50个Android开发人员必备UI效果源码[转载]
50个Android开发人员必备UI效果源码[转载] http://blog.csdn.net/qq1059458376/article/details/8145497 Android 仿微信之主页面 ...
- Android开发 设置开机自动启动
原文:http://blog.csdn.net/kevinmeng_ini58/article/details/7700786 片段一: <!-- 开机启动 --> <receive ...
- MySql文章
转: MySql安全建议 http://www.cnblogs.com/crystal189/p/3492640.html
- hash_map map
什么时候需要用hash_map,什么时候需要用map? 总体来说,hash_map 查找速度会比map快,而且查找速度基本和数据数据量大小,属于常数级别;而map的查找速度是log(n)级别.并不一定 ...
- layer.js,,,分享一个好用的弹出层
基本属性: <!DOCTYPE html> <html> <head> <head> <meta content="text/html; ...
- Java快速入门
Java 是什么? Java 的特点: 面向对象 平台无关(跨平台): 简单 安全 体系结构 - 中性 可移植 健壮 多线程 解释型 高性能 分布式 动态 Java环境设置: Java SE可免费提供 ...