Home >Backend Development >PHP Tutorial > 订单编号有关问题求解

订单编号有关问题求解

WBOY
WBOYOriginal
2016-06-13 13:21:531180browse

订单编号问题求解?
$orderid=GB_.substr(date('YmdHis')).mt_rand(0,999999);

这样是对的吗?

为什么得到的 GB_465505 是这样的,中间的时期没有呢?这样这个订单编号相同机率会有多大?

------解决方案--------------------
随机数当然概率是一样大 不过也有重复的可能
------解决方案--------------------
GB_.substr(date('YmdHis')).mt_rand(0,999999);

substr($string, $start, $length);

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

虽然使用随机数出现冲突的概率不大(对你是百万分之一)
但他不连续,不便于管理。也不能防止伪造

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn