dedlfix: Was ist der Rückgabewert von array_rand(array());?

Beitrag lesen

Hi!

Im Manuel steht nichts zum Rückgabewert von array_rand() falls das übergebene Array leer ist.

Da ein leeres Array keine Schlüssel hat, kann die logische Konsequenz nur sein:

In PHP 5.2.10 ist der Rückgabewer NULL.

0 oder Leerstring wären gültige Keys und somit wäre das Ergebnis nicht mehr eindeutig. null hingegen ist kein gültiger Key. (Wenn man null beim Anlegen als Key verwendet, wird daraus ein Leerstring.)

Meine Frage ist, kann man sich darauf verlassen oder sollte man immer vorher zusätzlich prüfen, ob das Array leer ist?

Ich denk schon, dass man sich darauf verlassen kann. Änderungen im Verhalten künftiger Versionen stehen wie immer im Changelog.

Lo!