質問: phpで0〜9の重複しない数字4桁をランダムに生成したいと思っています。
回答: >どうしても重複しないという処理が分かりません。 基本的に「ランダムに生成する=重複することもある」ということになります(当然ですね)。 初期化してから(もしくはリセットしてから)生成したものを保持しておいてチェックするしかありません。 チェック方法はお好みで。 ひとつのファイルに保持するなら、4桁の使用済み番号を保持すれば最大50KBくらいになるし、最初から10000件の配列をバイトデータで持てば10KB。 #bit単位にすれば1250バイトで済むけど、それはやり過ぎかも(汗 極端な話、ファイル名にしてファイル有無でもいいです。最大10000のファイル数ですからね。ただロックを考えるとディレクトリの方がやりやすいかも(mkdirなら排他処理になるので)。