$orderid=GB_.substr(date('YmdHis')).mt_rand(0,999999);这样是对的吗?为什么得到的  GB_465505  是这样的,中间的时期没有呢?这样这个订单编号相同机率会有多大?

解决方案 »

  1.   

    GB_.substr(date('YmdHis')).mt_rand(0,999999);substr($string, $start, $length);这个方法要三个参数,第一个是字符串,也就是你的时间,第二个是截取开始位置,第三个是截取长度
      

  2.   

    $orderid = 'GB_' . date('YmdHis') . mt_rand(0,999999);虽然使用随机数出现冲突的概率不大(对你是百万分之一)
    但他不连续,不便于管理。也不能防止伪造