ホームページ >php教程 >php手册 >phpは一意の注文番号を生成します

phpは一意の注文番号を生成します

WBOY
WBOYオリジナル
2016-08-26 10:12:481176ブラウズ

長さの変更をサポート
/**
* 固有の注文番号を生成します
*
*/function build_order_no(){<br> 戻り値 date('Ymd').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8);<br> }注:
uniqid を使って現在のマイクロ秒数に基づいて生成された一意の文字列を取得し(ただし、最初の7桁は長期間変化するようなので、気にせず削除しても大丈夫です)、8桁目から13桁目までを取ります。しかし、この文字列には英語の文字が含まれているのですが、どうすればよいでしょうか?
ord を使用して ASCII コードを取得するため、次のステップがあります。str_split を使用して文字列を配列に分割し、array_map を使用して (高速に) 操作します。
この場合、返されるのは依然として配列 KO であり、これは implode を使用して文字列に変換されますが、文字の長さは可変であり、最初の固定の数桁を取得し、その前に現在の年と日付を追加します。このメソッドは世界中で使用されません。重複は何個ありますか。
もちろん、サーバー時間を早めに調整しない限り、たとえローカルであっても、同じマイクロ秒内に 2 つの注文を行うことはないと思います。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。