Bu kadar kod yazman gereksiz. Genelde bu tür random sayılar için zamanı baz alarak üretmek en mantıklısıdır.

Örnek olarak internette bulduğum bir kod:

$key = microtime() + floor(rand()*10000);