kurze php-code für random number string, 5 chars
Ich habe ein problem, ich versuche zu generieren, die eine 5 oder 7 Zeichen lange Nummer code mit php,
aber der folgende code enthält Buchstaben, ich brauche nur zahlen, vielen Dank im Voraus
$newgid = substr(md5(microtime()),rand(0,9),5);
- Tun die generierten zahlen haben, einzigartig zu sein, obwohl?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde einfach verwenden
mt_rand()
wie folgt:Demo!
Ich würde
rand()
zu generieren Zahl zwischen 0 und 99999 und behandeln es als string.Können Sie die folgende zu erzeugen, einen 5-stelligen code ganz leicht, und ich bin sicher, Sie können arbeiten von hier aus, wie man es 7 Ziffern lang sein.
Hier ist ein short & sweet-Funktion erzeugt eine Zeichenfolge aus zahlen in der gewünschten Länge.
Wenn es Sie nicht stört, dass die zahlen von 10000 anstelle von null, das ist der kürzeste Weg:
Zukünftige Leser, die über diesen, würde ich empfehlen, so etwas wie die folgenden:
Anstatt mit einer Schleife, die oben beschriebene Funktion verwendet Rekursion; es nennt sich kontinuierlich, indem eine einzelne Ziffer, um die Zeichenfolge, bis Sie die Länge der Zeichenfolge erreicht den angegebenen Wert. Jederzeit und überall Sie möchten, können Sie erzeugen eine Zeichenkette beliebiger Länge (z.B. 5) wird einfach durch den Aufruf:
Zusätzlich ermöglicht diese Methode, für die erste Stelle in der Sequenz sind von 0.
Obwohl ich bevorzuge die erste Methode, wenn Sie wissen, dass Sie absolut nie brauchen mehr als 5 Ziffern im string ist, können Sie technisch erreichen der gleichen Sache mit:
Dies erzeugt eine 6-stellige Zahl, dann wirft es als string und gibt alles nach der ersten Ziffer. Entfernen die erste Stelle bewahrt eine " 0 " als eine mögliche erste Zeichen.
EDIT:
random_int()
verwendet wird, in anderen Methoden, um sicherzustellen generierten zahlen kryptografisch sichere.