PHP: Im Alphabeth hochzählen?

... komplette Frage anzeigen

3 Antworten

Du kannst es mit Rekursion machen:

function countAlphabet($num,$a_c){
if($num > 0){ // Prüfe ob noch zahlen folgen
$k = count($a_c);
while($k--){ // iteriere rückwärts durch $a_c
$r = 0;
$v = $a_c[$k];
if($v === 26){ // wenn letztes element 26 ist
$a_c[$k] = 0; // ... dann setze es auf 0 zurück
if($k === 0){ // ... prüfe ob es das letzte element ist
array_push($a_c, 0); // ... ... wenn ja, dann füge neuen zähler hinzu
break;
}else {
$a_c[$k - 1]++; // ... ansonsten ... erhöhe vorigen zähler
}
}
}
$k = count($a_c)-1; // letzter schlüssel des arrays
echo implode(array_map(function($a){
$alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
return substr($alphabet,$a,1);
},$a_c)).PHP_EOL.PHP_EOL; // ausgabe
$a_c[$k]++; // erhöhe letztes element in array um 1
$num--;
countAlphabet($num,$a_c); // rekursion
}
}
echo "<pre>";
countAlphabet(1500,[0]);
Antwort bewerten Vielen Dank für Deine Bewertung

Am einfachsten funktioniert das wohl, indem Du das Integer-Äquivalent der Character von a = 097 bis z = 122 hochzählst. Und wenn Du bei 123 angelangt bist, wird dem String ein Character hinzugefügt und wieder bei 097 begonnen.



Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Marc747
26.10.2016, 15:19

Danke, allerdings habe ich dies auch bereits probiert.

Dies löst mein Problem nämlich nicht :(

Wenn ich das mache fängt der Code nach dem "Z" wieder bei " A" an....

Allerdings möchte ich, dass es nach dem "Z" mit "AA" weitermacht.

Trotzdem Danke :)

0

For schleife mit char..

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?