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?> 81--EXPECT-- 82INI 83-1 84-1 85OUTPUTS 86123456789.01234567 3.3333333333333335 9.87E+102 10.0000001 87string(89) "a:4:{i:0;d:123456789.01234567;i:1;d:3.3333333333333335;i:2;d:9.87E+102;i:3;d:10.0000001;}" 88array ( 89 0 => 123456789.01234567, 90 1 => 3.3333333333333335, 91 2 => 9.87E+102, 92 3 => 10.0000001, 93) 94INI 950 960 97OUTPUTS 981.0E+8 3 1.0E+103 1.0E+1 99string(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;}" 100array ( 101 0 => 1.0E+8, 102 1 => 3.0, 103 2 => 1.0E+103, 104 3 => 1.0E+1, 105) 106INI 1079 1089 109OUTPUTS 110123456789 3.33333333 9.87E+102 10.0000001 111string(72) "a:4:{i:0;d:123456789;i:1;d:3.33333333;i:2;d:9.87E+102;i:3;d:10.0000001;}" 112array ( 113 0 => 123456789.0, 114 1 => 3.33333333, 115 2 => 9.87E+102, 116 3 => 10.0000001, 117) 118INI 11914 12014 121OUTPUTS 122123456789.01235 3.3333333333333 9.87E+102 10.0000001 123string(83) "a:4:{i:0;d:123456789.01235;i:1;d:3.3333333333333;i:2;d:9.87E+102;i:3;d:10.0000001;}" 124array ( 125 0 => 123456789.01235, 126 1 => 3.3333333333333, 127 2 => 9.87E+102, 128 3 => 10.0000001, 129) 130INI 13117 13217 133OUTPUTS 134123456789.01234567 3.3333333333333335 9.8700000000000007E+102 10.000000099999999 135string(111) "a:4:{i:0;d:123456789.01234567;i:1;d:3.3333333333333335;i:2;d:9.8700000000000007E+102;i:3;d:10.000000099999999;}" 136array ( 137 0 => 123456789.01234567, 138 1 => 3.3333333333333335, 139 2 => 9.8700000000000007E+102, 140 3 => 10.000000099999999, 141) 142INI 14325 14425 145OUTPUTS 146123456789.0123456716537476 3.33333333333333348136307 9.870000000000000687310143E+102 10.0000000999999993922529 147string(141) "a:4:{i:0;d:123456789.0123456716537476;i:1;d:3.33333333333333348136307;i:2;d:9.870000000000000687310143E+102;i:3;d:10.0000000999999993922529;}" 148array ( 149 0 => 123456789.0123456716537476, 150 1 => 3.33333333333333348136307, 151 2 => 9.870000000000000687310143E+102, 152 3 => 10.0000000999999993922529, 153) 154INI 155100 156100 157OUTPUTS 158123456789.01234567165374755859375 3.333333333333333481363069950020872056484222412109375 9.87000000000000068731014283095442748328521861543465424509123736073120616987695396574376473706259651E+102 10.0000000999999993922529029077850282192230224609375 159string(277) "a:4:{i:0;d:123456789.01234567165374755859375;i:1;d:3.333333333333333481363069950020872056484222412109375;i:2;d:9.87000000000000068731014283095442748328521861543465424509123736073120616987695396574376473706259651E+102;i:3;d:10.0000000999999993922529029077850282192230224609375;}" 160array ( 161 0 => 123456789.01234567165374755859375, 162 1 => 3.333333333333333481363069950020872056484222412109375, 163 2 => 9.87000000000000068731014283095442748328521861543465424509123736073120616987695396574376473706259651E+102, 164 3 => 10.0000000999999993922529029077850282192230224609375, 165) 166