3v4l.org

run code in 300+ PHP versions simultaneously
<?php function encode($int) { $int = round($int); $left = 0xffffffff00000000; $right = 0x00000000ffffffff; $l = ($int & $left) >>32; $r = $int & $right; return unpack('d', pack('N2', $l, $r))[1]; } function decode($float) { $set = unpack('N2', pack('d', $float)); return $set[1] << 32 | $set[2]; } echo decode(encode(10000000000000)).'<br><br>'; $float = encode(10000000000000); echo $float.'<br>'; echo decode($float).'<br>'; echo decode(1.1710299640683E-305).'<br>'; echo 1.1710299640683E-305;echo "<br>"; var_dump(1.1710299640683E-305 == $float);
Output for 8.1.0 - 8.1.27, 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
Deprecated: Implicit conversion from float 1.8446744069414584E+19 to int loses precision in /in/L1phJ on line 8 10000000000000<br><br> Deprecated: Implicit conversion from float 1.8446744069414584E+19 to int loses precision in /in/L1phJ on line 8 1.1710299640683E-305<br>10000000000000<br>-6629571225977708544<br>1.1710299640683E-305<br>bool(false)
Output for 5.4.0 - 5.4.45, 5.5.24 - 5.5.35, 5.6.8 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.20, 7.2.0 - 7.2.33, 7.3.12 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30
10000000000000<br><br>1.1710299640683E-305<br>10000000000000<br>-6629571225977708544<br>1.1710299640683E-305<br>bool(false)
Output for 4.4.2 - 4.4.9, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29
Parse error: syntax error, unexpected '[' in /in/L1phJ on line 11
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.3.11, 4.4.0 - 4.4.1, 5.0.0 - 5.0.5
Parse error: parse error, unexpected '[' in /in/L1phJ on line 11
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error in /in/L1phJ on line 11
Process exited with code 255.

preferences:
214.9 ms | 401 KiB | 309 Q