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 git.master, git.master_jit, rfc.property-hooks
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;

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
69.01 ms | 406 KiB | 5 Q