Mal was praxisnäheres.
Um wie viele Zufallswerte geht es ungefähr?
Du könntest zum Beispiel auch die aktuelle Zeit nehmen und aus der eine Zufallszahl ableiten. Dann ist der Besucher der Zufallsgenerator, bzw. der Zeitpunkt zu dem er die Webseite abruft (es geht doch um eine?).
Die Jahreszahl dürfte da nicht unbedingt für aufregende Abwechslung sorgen, die Millisekunden schon eher.
Dann ist aner immer noch nicht alles gleichverteilt. Beispiel: mit 300 Datensätzen, 1000 ms und einer einfachen Funktion
datensatznr = ms % 300
werden die ersten 100 Datensätze öfter gezogen. Das könntest du umgehen indem du die gesamten Millisekunden der Uhr (also seit 1.1.1900 oder was die eben hergibt) verwendest.
Auch dann ist nicht 100% Gleichverteilung gegeben, aber der Fehler rechnet sich immer mehr raus und ist vielleicht doch irgendwann tolerierbar.