次のコード行があります
$timestamp = '-'.(int)(microtime(true)*1000);
$timestamp
注文IDの最後に追加してより一意にしますが、ローカルのWampサーバー(Windows OS上)でテストしている間、このような値を取得していました
-166776478
-166701036
テストとして、UNIX 上のテスト サーバーに行って注文したところ、次のような値が得られました。
1372722035
1372722471
それぞれの最後の1つは、2つのFirefoxウィンドウを開いて、ほぼ同時に注文を行うことでした(キャッシュがなかったので、ローカルのワンプサーバーは少し時間がかかりました
さて、奇妙なことは、ローカルの Wamp サーバーの値がテスト サーバーの値とほぼ同じになると予想していたことです。
私の理解microtime()
では、Unix エポック以降の現在の Unix タイムスタンプがマイクロ秒単位で返されるため、タイムゾーンの設定は影響しません。
UNIXで実行されていない場合、マイクロタイムは異なる値を取得するのでしょうか。そうでない場合、なぜ2つの非常に異なる値を取得するのですか