1--TEST-- 2precision setting test 3--INI-- 4precision=14 5serialize_precision=17 6--FILE-- 7<?php 8$v = array(123456789.012345678901234567890, 10/3, 987e100, 10.0000001); 9 10echo "INI".PHP_EOL; 11ini_set('precision', -1); 12ini_set('serialize_precision', -1); 13echo ini_get('precision'), PHP_EOL; 14echo ini_get('serialize_precision'), PHP_EOL; 15echo "OUTPUTS".PHP_EOL; 16echo join(' ', $v).PHP_EOL; 17var_dump(serialize($v)); 18var_export($v);echo PHP_EOL; 19 20 21echo "INI".PHP_EOL; 22ini_set('precision', 0); 23ini_set('serialize_precision', 0); 24echo ini_get('precision'), PHP_EOL; 25echo ini_get('serialize_precision'), PHP_EOL; 26echo "OUTPUTS".PHP_EOL; 27echo join(' ', $v).PHP_EOL; 28var_dump(serialize($v)); 29var_export($v);echo PHP_EOL; 30 31echo "INI".PHP_EOL; 32ini_set('precision', 9); 33ini_set('serialize_precision', 9); 34echo ini_get('precision'), PHP_EOL; 35echo ini_get('serialize_precision'), PHP_EOL; 36echo "OUTPUTS".PHP_EOL; 37echo join(' ', $v).PHP_EOL; 38var_dump(serialize($v)); 39var_export($v);echo PHP_EOL; 40 41echo "INI".PHP_EOL; 42ini_set('precision', 14); 43ini_set('serialize_precision', 14); 44echo ini_get('precision'), PHP_EOL; 45echo ini_get('serialize_precision'), PHP_EOL; 46echo "OUTPUTS".PHP_EOL; 47echo join(' ', $v).PHP_EOL; 48var_dump(serialize($v)); 49var_export($v);echo PHP_EOL; 50 51echo "INI".PHP_EOL; 52ini_set('precision', 17); 53ini_set('serialize_precision', 17); 54echo ini_get('precision'), PHP_EOL; 55echo ini_get('serialize_precision'), PHP_EOL; 56echo "OUTPUTS".PHP_EOL; 57echo join(' ', $v).PHP_EOL; 58var_dump(serialize($v)); 59var_export($v);echo PHP_EOL; 60 61echo "INI".PHP_EOL; 62ini_set('precision', 25); 63ini_set('serialize_precision', 25); 64echo ini_get('precision'), PHP_EOL; 65echo ini_get('serialize_precision'), PHP_EOL; 66echo "OUTPUTS".PHP_EOL; 67echo join(' ', $v).PHP_EOL; 68var_dump(serialize($v)); 69var_export($v);echo PHP_EOL; 70 71echo "INI".PHP_EOL; 72ini_set('precision', 100); 73ini_set('serialize_precision', 100); 74echo ini_get('precision'), PHP_EOL; 75echo ini_get('serialize_precision'), PHP_EOL; 76echo "OUTPUTS".PHP_EOL; 77echo join(' ', $v).PHP_EOL; 78var_dump(serialize($v)); 79var_export($v);echo PHP_EOL; 80--EXPECT-- 81INI 82-1 83-1 84OUTPUTS 85123456789.01234567 3.3333333333333335 9.87E+102 10.0000001 86string(89) "a:4:{i:0;d:123456789.01234567;i:1;d:3.3333333333333335;i:2;d:9.87E+102;i:3;d:10.0000001;}" 87array ( 88 0 => 123456789.01234567, 89 1 => 3.3333333333333335, 90 2 => 9.87E+102, 91 3 => 10.0000001, 92) 93INI 940 950 96OUTPUTS 971.0E+8 3 1.0E+103 1.0E+1 98string(60) "a:4:{i:0;d:1.0E+8;i:1;d:3.0E+0;i:2;d:1.0E+103;i:3;d:1.0E+1;}" 99array ( 100 0 => 1.0E+8, 101 1 => 3.0E+0, 102 2 => 1.0E+103, 103 3 => 1.0E+1, 104) 105INI 1069 1079 108OUTPUTS 109123456789 3.33333333 9.87E+102 10.0000001 110string(72) "a:4:{i:0;d:123456789;i:1;d:3.33333333;i:2;d:9.87E+102;i:3;d:10.0000001;}" 111array ( 112 0 => 123456789.0, 113 1 => 3.33333333, 114 2 => 9.87E+102, 115 3 => 10.0000001, 116) 117INI 11814 11914 120OUTPUTS 121123456789.01235 3.3333333333333 9.87E+102 10.0000001 122string(83) "a:4:{i:0;d:123456789.01235;i:1;d:3.3333333333333;i:2;d:9.87E+102;i:3;d:10.0000001;}" 123array ( 124 0 => 123456789.01235, 125 1 => 3.3333333333333, 126 2 => 9.87E+102, 127 3 => 10.0000001, 128) 129INI 13017 13117 132OUTPUTS 133123456789.01234567 3.3333333333333335 9.8700000000000007E+102 10.000000099999999 134string(111) "a:4:{i:0;d:123456789.01234567;i:1;d:3.3333333333333335;i:2;d:9.8700000000000007E+102;i:3;d:10.000000099999999;}" 135array ( 136 0 => 123456789.01234567, 137 1 => 3.3333333333333335, 138 2 => 9.8700000000000007E+102, 139 3 => 10.000000099999999, 140) 141INI 14225 14325 144OUTPUTS 145123456789.0123456716537476 3.33333333333333348136307 9.870000000000000687310143E+102 10.0000000999999993922529 146string(141) "a:4:{i:0;d:123456789.0123456716537476;i:1;d:3.33333333333333348136307;i:2;d:9.870000000000000687310143E+102;i:3;d:10.0000000999999993922529;}" 147array ( 148 0 => 123456789.0123456716537476, 149 1 => 3.33333333333333348136307, 150 2 => 9.870000000000000687310143E+102, 151 3 => 10.0000000999999993922529, 152) 153INI 154100 155100 156OUTPUTS 157123456789.01234567165374755859375 3.333333333333333481363069950020872056484222412109375 9.87000000000000068731014283095442748328521861543465424509123736073120616987695396574376473706259651E+102 10.0000000999999993922529029077850282192230224609375 158string(277) "a:4:{i:0;d:123456789.01234567165374755859375;i:1;d:3.333333333333333481363069950020872056484222412109375;i:2;d:9.87000000000000068731014283095442748328521861543465424509123736073120616987695396574376473706259651E+102;i:3;d:10.0000000999999993922529029077850282192230224609375;}" 159array ( 160 0 => 123456789.01234567165374755859375, 161 1 => 3.333333333333333481363069950020872056484222412109375, 162 2 => 9.87000000000000068731014283095442748328521861543465424509123736073120616987695396574376473706259651E+102, 163 3 => 10.0000000999999993922529029077850282192230224609375, 164) 165