schleife, in der jeder buchstabe blos einmal drankommt

Kurt Cobain

Erfahrenes Mitglied
Tag Tag

also ich hab das:

PHP:
$man="abcdefghijklmnopqrstuvwxyz";



for($i=0;$i<7;$i++)
{
 echo $man{rand(0,25)};
}

jetzt kommt ja da z.b. das hier raus: roccoio


weiß jemand, wie man das Script erweitern kann, dass jeder Buchstabe nur einmal drankommt

gruß ich
 
Hallo ich habe sowas mal mit Zahlen gemacht.
Das Ganze sollte ja dann auch mit Buchstaben funktionieren.

Hier der Code für Zahlen (Hilfe zur Selbsthilfe :-) )
PHP:
$zahlen = array();
    for($i=0; $i<7; $i++) {
        $temp = mt_rand(1,49);
        if( in_array($temp, $zahlen) ) {
            $i--;
            continue;
        }
        $zahlen[] = $temp;
    }
 
Hi.

Für Strings könntest du einfach die Funktion str_shuffle benutzen die die Zeichen im String durcheinandermischt. Dann einfach über die Elemente iterieren (/edit: bzw. die ersten 7 Zeichen ausgeben)

Für Arrays gibt es die Funktion shuffle.
PHP:
$man="abcdefghijklmnopqrstuvwxyz";

echo substr(str_shuffle($man), 0, 7);
Gruß
 
Zuletzt bearbeitet:
@kurt: Was geht irgendwie ned?

@deepthroat: So kann man es natürlich auch machen :-(
 
Zurück