循環插入 10 萬條數據,生成的隨機姓名每 1760 條重複一次,且 sex、age 也完全同步重複。
rand() 是線性同餘偽隨機數生成器,週期有限(通常 2^31-1)。rand(3, 26) → 24 種可能。rand(1, 26) → 26 種。rand(1, 26) → 26 種。sex = rand(0,3) 僅 4 種值,age = rand(1,120) 120 種值,極易重複。// PHP 7+
$bytes = random_bytes(16); // 加密級隨機字節
$name = bin2hex($bytes); // 或自定義編碼
$name = '';
$len = random_int(5, 12); // 更長
for ($i=0; $i<$len; $i++) {
$name .= chr(random_int(97, 122)); // a-z
}
$sex = random_int(0, 1); // 0/1
$age = random_int(18, 80); // 更合理範圍
random_bytes + 時間戳。