ich habe gemerkt bei versuchen mit 100 bis 10000 durchläufen, das
array_rand
die ersten keys häufiger auswählt als die letzteren
Das liegt möglicherweise daran, dass array_rand() nur zufällige Einträge _nacheinander_ auswählt; die Funktion hüpft also mit zufälligen Sprüngen vorwärts durch die Liste, sie wählt nicht zufällig mal hier einen Eintrag, mal dort.
Würdest du aus einem Feld mit den Zahlen 1, 2 und 3 drei Einträge auswählen lassen, bekämest du deshalb immer 1, 2, 3 als Ergebnis, niemals eine der im ersten Augenblick vielleicht erwarteten anderen Möglichkeiten. Vom Zufall ist da nichts mehr vorhanden und mein Gefühl – ich bin kein Mathematiker – sagt mir, so viel besser wird es noch nicht, wenn die Auswahlquote von hier 100% auf deine 50% sackt (vier aus acht hattest du im Beispiel).
Dieser Unsinn ist nur als Anmerkung dokumentiert und konterkariert den gesamten Rest der Beschreibung, "Pick one or more random entries out of an array".