注文番号の問題を解決するにはどうすればよいですか?
$orderid=GB_.substr(date('YmdHis')).mt_rand(0,999999);
これは正しいですか?
このようにして GB_465505 が取得されるのに、その間の期間が取得されないのはなぜですか?注文番号が同じになる確率はどのくらいですか?
-----解決策--------------------------------
もちろん乱数の確率は同じですが、繰り返しの可能性もあります
------解決策---------
GB_.substr(date('YmdHis') ) .mt_rand(0,999999);
substr($string, $start, $length);
このメソッドには 3 つのパラメータが必要です。最初のパラメータは文字列で、これは時間です。 2 番目はインターセプトの開始位置、3 番目はインターセプトの長さです
------解決策-----
$orderid = 'GB_' . YmdHis ') . mt_rand(0,999999);
乱数を使用した競合の確率は低いですが (100 万分の 1 です)
しかし、それは継続的ではないため、管理するのは簡単ではありません。また、偽造を防止するものでもありません