導入 "配列のランダマイズ、出来ますか?" を読み、php の場合はどうなの? と思ったので、調べてみましたというお話。 結論としては、4.3.0 以降の php では等分散されます。 ただ、疑似乱数生成器が libc 依存なため OS によって異なる結果となるので、異なる環境での再現性が必要な場合は、mt_rand 使って再実装した方が良いんじゃないかなと。 mt_rand の精度について メルセンヌツイスタの精度って32bit だけど、64bit 版の場合の mt_rand はどうなの? という質問を受けまして、 合成して 64bit 作ってると言ってしまいましたが、アレは大嘘でした。ごめんなさい。 32bit で生成した乱数を、long にキャストして返してますね。 それどころか、(php_rand の挙動に合わせる? ために)1bit 右シフトして 31bit にしています。 うむ