zoukankan      html  css  js  c++  java
  • PHP生成唯一订单号

    利用PHP生成唯一订单号,可用作于商城下单,以及和支付宝等第三方支付进行对接

    先来一段测试代码:

    $i = 10;
    while($i) {
        $no = build_order_no();
        $uniqid = uniqid();
     
        var_dump("$non$uniqidn");      // file_put_contents('test.log', "$non$uniqidn", FILE_APPEND);
        --$i;
    }
     
    echo PHP_EOL;

    测试结果见:http://3v4l.org/BBQ6m#v5515

    来自ECSHOP订单号生成函数:/includes/lib_order.php文件中的get_order_sn()

    /**
     * 得到新订单号
     * @return  string
     */
    function build_order_no()
    {
        /* 选择一个随机的方案 */
        mt_srand((double) microtime() * 1000000);
     
        return date('Ymd') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT);
    }

    原订单号格式为年月日+5位随机数,例如:2012022112345。如果你想改变订单号的生成规则,可对该函数进行修改,我想让订单号改为 “PHPALLY” + 年月日 + 6位随机数字,那么可以这样修改:

    /**
     * 得到新订单号
     * @return  string
     */
    function build_order_no()
    {
        /* 选择一个随机的方案 */
        mt_srand((double) microtime() * 1000000);
     
        /* PHPALLY + 年月日 + 6位随机数 */
        return 'PHPALLY' . date('Ymd') . str_pad(mt_rand(1, 999999), 6, '0', STR_PAD_LEFT);
    }
  • 相关阅读:
    NOIP simulation
    NOIP2013
    BZOJ 4176 Lucas的数论
    BZOJ 3512 DZY Loves Math IV
    BZOJ 3994 Sum
    BZOJ 4174 tty的求助
    BZOJ 3561 DZY Loves Math VI
    BZOJ 2508 简单题/BZOJ 3775 点和直线
    FTR #1 百步穿杨
    BZOJ 4407 于神之怒加强版
  • 原文地址:https://www.cnblogs.com/shcolo/p/4479468.html
Copyright © 2011-2022 走看看