搜索
首页php教程php手册php生成 优惠券 激活码

/* * * 生成vip激活码 * @param int $nums 生成多少个优惠码 * @param array $exist_array 排除指定数组中的优惠码 * @param int $code_length 生成优惠码的长度 * @param int $prefix 生成指定前缀 * @return array 返回优惠码数组 */ public function gene

<span>/*</span><span>*
     * 生成vip激活码
     * @param int $nums             生成多少个优惠码
     * @param array $exist_array     排除指定数组中的优惠码
     * @param int $code_length         生成优惠码的长度
     * @param int $prefix              生成指定前缀
     * @return array                 返回优惠码数组
     </span><span>*/</span>
    <span>public</span> <span>function</span> generateCode( <span>$nums</span>,<span>$exist_array</span>='',<span>$code_length</span> = 6,<span>$prefix</span> = ''<span> ) {
    
        </span><span>$characters</span> = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnpqrstuvwxyz"<span>;
        </span><span>$promotion_codes</span> = <span>array</span>();<span>//</span><span>这个数组用来接收生成的优惠码</span>
    
        <span>for</span>(<span>$j</span> = 0 ; <span>$j</span> $nums; <span>$j</span>++<span>) {
                
            </span><span>$code</span> = ''<span>;
                
            </span><span>for</span> (<span>$i</span> = 0; <span>$i</span> $code_length; <span>$i</span>++<span>) {
    
                </span><span>$code</span> .= <span>$characters</span>[<span>mt_rand</span>(0, <span>strlen</span>(<span>$characters</span>)-1<span>)];
    
            }
                
            </span><span>//</span><span>如果生成的4位随机数不再我们定义的$promotion_codes数组里面</span>
            <span>if</span>( !<span>in_array</span>(<span>$code</span>,<span>$promotion_codes</span><span>) ) {
    
                </span><span>if</span>( <span>is_array</span>(<span>$exist_array</span><span>) ) {
                        
                    </span><span>if</span>( !<span>in_array</span>(<span>$code</span>,<span>$exist_array</span>) ) {<span>//</span><span>排除已经使用的优惠码</span>
    
                        <span>$promotion_codes</span>[<span>$j</span>] = <span>$prefix</span>.<span>$code</span>; <span>//</span><span>将生成的新优惠码赋值给promotion_codes数组</span>
<span>    
                    } </span><span>else</span><span> {
    
                        </span><span>$j</span>--<span>;
    
                    }
                        
                } </span><span>else</span><span> {
                        
                    </span><span>$promotion_codes</span>[<span>$j</span>] = <span>$prefix</span>.<span>$code</span>;<span>//</span><span>将优惠码赋值给数组</span>
<span>                        
                }
    
            } </span><span>else</span><span> {
                </span><span>$j</span>--<span>;
            }
        }
    
        </span><span>return</span> <span>$promotion_codes</span><span>;
    }</span>

 上述方法可以直接拷贝使用

 

 下面列出个人优惠券激活码的数据表设计,各位看官感觉是否有用

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
-- ----------------------------

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境