• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

Zeichenfolgen-Generator

timroh

Cripps Pink
Registriert
08.07.09
Beiträge
148
Hallo,
Ich wollte mir mit Php eine Funktion erstellen die alle möglichen Zeichenfolgen ausspuckt die in diesem Fall aus den Zahlen eins bis drei bestehen und 4 Ziffern enthalten. Das ganze soll aber so funktionieren, dass ich die Zahlen auch durch Buchstaben ersetzen kann.
Danke schon im Voraus für eure Antworten
Mit freundlichen Grüssen
Tim

Code:
<?PHP
$zahl1 = array(
			  1,
			  2,
			  3
			  );

$zahl2 = array(
			  1,
			  2,
			  3
			  );

$zahl3 = array(
			  1,
			  2,
			  3
			  );

$zahl4 = array(
			  1,
			  2,
			  3
			  );

//es gibt 81 verschiedene Zahlenfolgen wenn man die Zahlen 1,2 und 3 in verschiedenen folgen aneinander hängt
for($a=0;$a<81;$a++){
[COLOR="red"]WAS MUSS HIER HINEIN?[/COLOR]

}
?>
 

_linx_

Kleiner Weinapfel
Registriert
04.01.09
Beiträge
1.125
Du kannst ja die Zahlen mit $array[n] abrufen...
Also bei der hintersten Zahl im ersten Element anfangen, hochzählen, wenn du beim letzten bist, im zweiten Array ein Element höher und wieder alle Elemente im Ersten durchgehen usw...
 

Taulmarill

Cox Orange
Registriert
16.06.10
Beiträge
96
Also, ich kann PHP nicht gut genug um das zu lösen, aber so würde ich es in Perl machen. Vielleicht inspiriert dich das ja ausreichend um den Algorithmus in PHP zu übertragen. Hoffe es ist ausreichend kommentiert.
Code:
#!/usr/bin/env perl

use strict;
use warnings;

# zweidimensionaler Array bzw. Array of Arrays fuer den Zeichenvorrat
my @chars = (
    [ 1, 2, 3 ],
    [ 1, 2, 3 ],
    [ 1, 2, 3 ],
    [ 1, 2, 3 ],
);

# und eine Subroutine aufrufen, die diesen Rekursiv abarbeitet.
&recurse( '' );


sub recurse {
    my $string = $_[0]; # bisher erzeugte Zeichenkette speichern

    # Zeichenkette ausgeben wenn keine weiteren Arrays mehr da sind
    if ( @chars == 0 ) {
        print $string . "\n";
        return;
    }

    my $list  = shift @chars; # ersten Array aus zweidimensionalem Array holen

    # durch den geshifteten Array iterieren
    for my $char ( @{$list} ) {
        recurse( $string . $char ); # rekursiven Algorithmus einfuegen :-)
    }

    # Array wieder herstellen
    unshift @chars, $list;
}
 

Konsumkind

Riesenboiken
Registriert
01.07.08
Beiträge
287
Also einfach nur in Zufallsgenerator für eine Zahlenkette?
 

Taulmarill

Cox Orange
Registriert
16.06.10
Beiträge
96
Soweit ich den OP verstanden habe, sollen alle möglichen Kombinationen und nicht zufällige Kombinationen ausgegeben werden.

Die Anforderung ist leider nicht sauber definiert, weshalb ich erst mal ein kleines Programm geschrieben habe, um Feedback zu bekommen, ob das so passt oder was anders gewollt ist.
 

timroh

Cripps Pink
Registriert
08.07.09
Beiträge
148
ne, es sollen alle Möglichkeiten aufgelistet werden.