Hello,
Das Geheimnis wird wohl in array_rand() liegen.
Ich habe noch nicht in den Quelltext geschaut, wie das nun wieder den Parameter num_req umsetzt.
http://de3.php.net/manual/en/function.array-rand.php$num_req spezifiziert - wie die Doku schon sagt - die (maximale) Anzahl der Indexe, die man zurück bekommen möchte.
Ich befürchte, dass das nur die Anzahl der Zeichen angibt, die in die Auswahl einbezogen werden.
Ich teste das Script nochmal auf meinem Debian-Testserver. Muss nur die Platte erst ausgraben. Da steckt gerade noch ne kaputte Suse 11 drin.
#####################################################
Könnten ja auch andere Tester nochmal versuchen...
#####################################################
Ich hätte intuitiv das gesamte Array verwürfelt und dann nur die $len Stück in der foreach-Schliefe ausgeschnitten, also foreach bei $len abgebrochen.
Das wäre sicher auch eine Möglichkeit gewesen. Stellt sich die Frage wie das mit der Ausführungszeit ausschaut. Kannst du ja mal ausprobieren ;)
*grummel* Ok, mach ich
Der Bremser in der String-Lösung war aber eindeutig die while()-Schleife
Wusstest du, dass du auf einen String wie auf ein Array von Zeichen zugreifen kannst?
Funktioniert der Index-Operator denn jetzt auch für UTF-8 codierte Strings?
weiterhin schönen abend...
Und sach doch nich immer Arschloch zu mir :-P
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg