3v4l.org

run code in 300+ PHP versions simultaneously
<?php $initial_precision = ini_get('precision'); // JSON echo "JSON\n"; $j = '{ "v": 0.1234567890123456789 }'; echo "precision: " . $initial_precision . "\n"; var_dump(json_encode(json_decode($j))); ini_set('precision', 30); $d = json_decode($j); var_dump(json_encode(json_decode($j))); var_dump($d->v); // SERIALIZE echo "SERIALIZE\n"; $a = 0.1234567890123456789; echo serialize($a) . "\n"; echo "-- UNSERIALIZE\n"; ini_set('precision', $initial_precision); echo "precision: " . ini_get('precision') . "\n"; $s = "d:0.1234567890123456789;"; var_dump(unserialize($s)); // ini precision for var_dump ini_set('precision', 30); echo "precision: " . ini_get('precision') . "\n"; var_dump(unserialize($s)); // serialize precision echo "serialize_precision: " . ini_get('serialize_precision') . "\n"; echo "-- SERIALIZE\n"; echo serialize(unserialize($s)) . "\n"; ini_set('serialize_precision', 30); echo "serialize_precision: " . ini_get('serialize_precision') . "\n"; echo serialize(unserialize($s)) . "\n";
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
JSON precision: 14 string(25) "{"v":0.12345678901234568}" string(25) "{"v":0.12345678901234568}" float(0.12345678901234568) SERIALIZE d:0.12345678901234568; -- UNSERIALIZE precision: 14 float(0.12345678901234568) precision: 30 float(0.12345678901234568) serialize_precision: -1 -- SERIALIZE d:0.12345678901234568; serialize_precision: 30 d:0.1234567890123456773698862321;
Output for 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33
JSON precision: 14 string(25) "{"v":0.12345678901234568}" string(25) "{"v":0.12345678901234568}" float(0.1234567890123456773698862321) SERIALIZE d:0.12345678901234568; -- UNSERIALIZE precision: 14 float(0.12345678901235) precision: 30 float(0.1234567890123456773698862321) serialize_precision: -1 -- SERIALIZE d:0.12345678901234568; serialize_precision: 30 d:0.1234567890123456773698862321;
Output for 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33
JSON precision: 14 string(22) "{"v":0.12345678901235}" string(36) "{"v":0.1234567890123456773698862321}" float(0.1234567890123456773698862321) SERIALIZE d:0.12345678901234568; -- UNSERIALIZE precision: 14 float(0.12345678901235) precision: 30 float(0.1234567890123456773698862321) serialize_precision: 17 -- SERIALIZE d:0.12345678901234568; serialize_precision: 30 d:0.1234567890123456773698862321;
Output for 5.2.4 - 5.2.17, 5.3.0 - 5.3.29
JSON precision: 14 string(22) "{"v":0.12345678901235}" string(36) "{"v":0.1234567890123456773698862321}" float(0.1234567890123456773698862321) SERIALIZE d:0.123456789012345677369886; -- UNSERIALIZE precision: 14 float(0.12345678901235) precision: 30 float(0.1234567890123456773698862321) serialize_precision: 24 -- SERIALIZE d:0.123456789012345677369886; serialize_precision: 30 d:0.1234567890123456773698862321;
Output for 5.2.1 - 5.2.3
JSON precision: 14 string(17) "{"v":0.123456789}" string(17) "{"v":0.123456789}" float(0.1234567890123456773698862321) SERIALIZE d:0.123456789012345677369886; -- UNSERIALIZE precision: 14 float(0.12345678901235) precision: 30 float(0.1234567890123456773698862321) serialize_precision: 24 -- SERIALIZE d:0.123456789012345677369886; serialize_precision: 30 d:0.1234567890123456773698862321;
Output for 5.2.0
JSON precision: 14 string(17) "{"v":0.123456789}" string(17) "{"v":0.123456789}" float(0.123456789012345669043213547411) SERIALIZE d:0.123456789012345669043214; -- UNSERIALIZE precision: 14 float(0.12345678901235) precision: 30 float(0.123456789012345669043213547411) serialize_precision: 24 -- SERIALIZE d:0.123456789012345669043214; serialize_precision: 30 d:0.123456789012345669043213547411;
Output for 5.0.0 - 5.0.5, 5.1.0 - 5.1.6
JSON precision: 14 Fatal error: Call to undefined function json_encode() in /in/nb3mE on line 8
Process exited with code 255.
Output for 4.4.5 - 4.4.9
JSON precision: 14 Fatal error: Call to undefined function: json_encode() in /in/nb3mE on line 8
Process exited with code 255.
Output for 4.3.2 - 4.3.11, 4.4.0 - 4.4.4
JSON precision: 14 Fatal error: Call to undefined function: json_encode() in /in/nb3mE on line 8
Process exited with code 255.
Output for 4.3.0 - 4.3.1
JSON precision: 14 Fatal error: Call to undefined function: json_encode() in /in/nb3mE on line 8

preferences:
154.1 ms | 419 KiB | 5 Q