Hello Laura,#
ich möchte aus einer Liste von Buchstaben, Zahlen und Sonderzeichen eine Liste von Möglichkeiten generieren.
Der erdachte Zeichensatz könnte so aussehen:
$zeichen = array ('1','2','3','4','5','6','7','8','9','0',' ','-','.','ö','ä','ü','ß','&','§','$','%','@','€','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z')
> Ziel ist eine Liste die max 6 Zeichen darstellt und beginnt mit
> 1
> 11
> 12
> ...
> ß
> ß1
> ß11
> ß12
> ...
> zzzzzz
>
> Sofern ich die Dokumentationen richtig verstanden habe muss das ganze dann in einer schleife (while oder foreach) passieren.
> Muss ich da jetzt 6 schleifen ineinander bauen? Oder gibt es da eine bessere Lösung ?
Sollen die Länge des erzeugten Strings und seine Elemente zufällig sein, oder müsse die irgendwelchen Regeln genügen, außer der Maximallänge?
Da Du die Zeichen bereits in einem Array hast, könntest Du die Shuffle-Funktion benutzten.
<http://de.php.net/manual/en/function.shuffle.php>
## Stelle einen leeren Ergebnisstring zur Verfügung
$ergebnis = '';
## Würfele eine Zufallszahl für die Länge aus
$len = zufall(); ## Die richtige Funktion suchst Du Dir bitte aus dem PHP-Handbuch :-)
## Nimm diese Zufallszahl für eine dedizierte Schleife
for($i = 0; $i < $len; $i++)
{
## bringe das Array durcheinander (den Elementen werden neue Keys zugeordnet)
shuffle($zeichen);
## hänge das erste Element des Arrays an den Ergebnisstring an
$ergebnis .= $zeichen[0];
}
Diese Vorgehensweise ermöglicht die von dir geforderten "zzzzzz", also mehrfaches Auftreten eines Zeichens im String.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg

--
☻\_
/▌
/ \ Nur selber lernen macht schlau
<http://bergpost.annerschbarrich.de>