<?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