>  기사  >  php教程  >  PHP는 고유한 주문 번호를 생성합니다.

PHP는 고유한 주문 번호를 생성합니다.

WBOY
WBOY원래의
2016-08-26 10:12:481147검색

길이 변경 지원
/**
* 고유 주문 번호 생성
*
*/function build_order_no(){<code class="prettyprint linenums lang-php">function build_order_no(){<br>     return date('Ymd').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8);<br> } return date('Ymd').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8);
}댓글:
uniqid를 사용하여 현재 마이크로초 수를 기준으로 생성된 고유하고 고유한 문자열을 가져오고(단 처음 7자리는 오랫동안 변경되는 것 같으므로 고려하지 않고 삭제해도 됩니다) 8~13번째 숫자를 가져옵니다. 그런데 이 문자열에 영문자가 있는데 어떻게 해야 할까요?
ord를 사용하여 ASCII 코드를 얻으면 다음 단계가 있습니다. str_split을 사용하여 문자열을 배열로 분할하고 array_map을 사용하여 (더 빠르게) 작동합니다.
그런 다음 반환되는 것은 여전히 ​​implode를 사용하여 문자열로 변환되는 배열 KO입니다. 그러나 문자 길이는 가변적입니다. 처음 고정된 몇 자리 숫자를 취하고 앞에 생성된 주문 번호를 추가합니다. 이 방법은 전 세계에서 사용되지 않습니다.

물론 서버 시간을 앞으로 조정하지 않는 한 조정하는 것을 두려워하지 마십시오. 로컬에 있더라도 네트워크 데이터 전송에도 시간이 걸릴 것이라고 생각합니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.