PHP自定义函数

php   2024-06-24 12:05   157   0  
<?php

//返回当前的毫秒时间戳
function msectime()
{
    list($msec, $sec) = explode(' ', microtime());
    $msectime = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000);
    return $msectime;
}

//生成随机字符串
function randstr($len=8)
{
    $str = "";
    for ($i = 0; $i < $len; $i++) {
        $str .= chr(mt_rand(33, 126));
    }
    return $str;
}

//生成24位唯一订单号码,格式:YYYY-MMDD-HHII-SS-NNNN,NNNN-CC,其中:YYYY=年份,MM=月份,DD=日期,HH=24格式小时,II=分,SS=秒,NNNNNNNN=随机数,CC=检查码
function createorderid(){
    
     @date_default_timezone_set("PRC");
     //订购日期
     
      $order_date = date('Y-m-d');
     
      //订单号码主体(YYYYMMDDHHIISSNNNNNNNN)
     
      $order_id_main = date('YmdHis') . rand(10000000,99999999);
     
      //订单号码主体长度
     
      $order_id_len = strlen($order_id_main);
     
      $order_id_sum = 0;
     
      for($i=0; $i<$order_id_len; $i++){
     
      $order_id_sum += (int)(substr($order_id_main,$i,1));
     
      }
     
      //唯一订单号码(YYYYMMDDHHIISSNNNNNNNNCC)
     
      $order_id = $order_id_main . str_pad((100 - $order_id_sum % 100) % 100,2,'0',STR_PAD_LEFT);
        
      return $order_id;
}

//生成22位唯一订单号码
function createorderid(){
        return date('YmdHis').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8);
    }