Sorry for the bad title, but I dunno how to call this.
echo rand(0,10e20) . "\n"; // bad echo rand(0,10e19) . "\n"; // bad echo rand(0,10e18) . "\n"; // bad echo rand(0,10e17) . "\n"; // OK echo rand(0,10e16) . "\n"; echo rand(0,10e15) . "\n\n"; var_dump(10e20); // float var_dump(10e15); // float Output:
Warning: rand() expects parameter 2 to be integer, float given in /srv/webroot-sandbox/index.php(73) : eval()'d code on line 1
Warning: rand() expects parameter 2 to be integer, float given in /srv/webroot-sandbox/index.php(73) : eval()'d code on line 2
Warning: rand() expects parameter 2 to be integer, float given in /srv/webroot-sandbox/index.php(73) : eval()'d code on line 3
578009006101638016 69608699344098568 7596902768127620 float(1.0E+21) float(1.0E+16) Can someone explain what's going on? This is PHP 7, it worked fine in PHP 5 (well, at least I didn't get any warnings).
var_dumpdoesn't care if you provide float or int, butranddoes. Did you try to set the precision in php7?