Es gibt eine Zeichenfolge mit den Zeichen [a-zA-Z0-9]
. Dies sollte 26 * 2 + 10 = 62 Möglichkeiten in einem Zeichen und 62 ^ 2 in zwei sein. Was ist der bevorzugte Weg, um einen Wert einer solchen Zeichenkette zu erhöhen, so dass "aA" zu "aB" usw. wird? Gibt es irgendwelche eingebauten Sachen in PHP, die helfen können?
Ich weiß, dass Sie eine Zeichenfolge erhöhen können, aber das sind nur Kleinbuchstaben. Im Wesentlichen sollte das Ergebnis in 61 Schritten von "a" nach "aa" gehen.
Der @simshaun funktioniert nicht für mich. Ich überprüfe die Dokumentation und finde base_convert , die für dich funktionieren kann (auf Basis 35) und ein Kommentar von " francesco [at] paladinux.net " mit einer Funktion zum Arbeiten mit base65.
so kann die Lösung sein:
in b10 umwandeln - & gt; Erhöhung +1 - & gt; konvertiert die Basis 65
BEARBEITEN 1
über convert sprechen Ich denke, zu Base64-Codierung, so schrieb ich diese 2 Funktionen mit Base64 Encode / Decodieren Zahlen. Leider ist der verwendete Zeichensatz etwas größer: [a-zA-Z0-9 / + =], aber mit einer internen Funktion effizienter.
Die Null 0 ist "AA =="
%Vor%Ich mag diesen. Wie benutzt man: ClassX :: increment ('p04E7K', 6); ClassX :: dekrement ('p04E7K', 6);
Code:
%Vor%Ich denke, dass dies grundsätzlich das tut, wonach Sie suchen.
%Vor%Ich kam zu dieser Frage, als ich auch nach einer Möglichkeit suchte, eine automatisch inkrementierende alphanumerische eindeutige ID zu erzeugen, die sehr ähnlich zu der ist, die wir in Kenia in Mobilgeld (M-PESA) haben. Als Referenz sehen Sie hier einen Screenshot mit den Transaktionen Screenshot mit Beispiel-MPESA-Transaktionen Ich möchte es hier lassen, wenn jemand auch nach ähnlichen Eigenschaften sucht: - Autoinkrement alphanumerisch - Alle Zeichen in Großbuchstaben - automatische Erhöhung der Länge der Saite, sobald sie erschöpft ist. - Das Inkrement ist von 0 bis 9 und dann von A bis Z, bevor das angrenzende Zeichen der Zahl inkrementiert wird. Es handelt sich um eine Modifikation der Antwort von @ phobia82
%Vor%