Ich möchte einige zufällige Codes basierend auf Millisekunden erstellen. Wenn ich "var_dump" verwende zeigt es an, dass meine Funktion korrekt funktioniert und zu viele $ Ergebnisnummern erzeugt werden. aber wenn ich ORM INSERT-Anweisung verwende, um sie in meiner Datenbank zu speichern, speichert es immer: 2147483648 in der Datenbank und es scheint, dass es nicht von meinem $ Ergebnis abhängt !!!!! hier ist mein Code:Laravel: Funktion Immer eine Nummer in DB einfügen In LOOP
public function Timer($Number)
{
$i=0;
while ($i<$Number)
{
$microtime = microtime(true);
$milliseconds = sprintf("%02d", ($microtime - floor($microtime)) * 96 * 62 * 23 * 43);
$result=date('His'. $milliseconds, $microtime)."";
$result=substr($result,1,11);
DB::table('form')->insert([
'Number' => $result,
'IsValid' => false
]);
$i++;
}
}
Welche Art von Daten möchten Sie hier einfügen? Die bizarre Verwendung von 'sprintf' und' substr' und 'date' ergibt für mich keinen Sinn. – tadman
Ich bekomme Zeit in Millisekunde und multipliziere es mit einigen Zufallszahlen und bekomme die ersten 11 Zahlen, um einen zufälligen und unvorhersehbaren Code zu erstellen. aber mein Problem ist nicht über den Gebrauch dieses Algorithmus ... meine Frage ist über das Problem, das ich sagte! – Pedramch
Nichts ist zufällig oder unvorhersehbar. Wenn Sie zufällige Werte wünschen, verwenden Sie etwas wie ['mt_rand'] (http://php.net/manual/en/function.mt-rand.php). – tadman