Hello,
Im Manuel steht nichts zum Rückgabewert von array_rand() falls das übergebene Array leer ist.
In PHP 5.2.10 ist der Rückgabewer NULL.
Meine Frage ist, kann man sich darauf verlassen oder sollte man immer vorher zusätzlich prüfen, ob das Array leer ist?
Auf solche Verhaltensweisen würde ich mich bei PHP nur zu 99,51% verlassen, wenn sie definitv im Manual stehen. Wenn als Übergabeparameter ein Array verlangt wird, dann solltest Du auch eines liefern, solange es _nicht_ im Handbuch steht. Und sonst gehört für mich seit einiger Zeit eine umfangreiche Versions- und IstFunktionVorhanden-Kontolle zur Intallationsroutine meiner Lösungen.
Array_Rand() hatte in den bisher von mir getesteten 32-Bit-Versionen von PHP außerdem noch ein "zu-wenig-Zufall-Problem"
Da gibt es im Archiv einen Thread mit globe und mir, in dem dies offensichtlich wurde.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
