/
vshmidt
/
php
Обзор
Документация
Войти
/
vshmidt
/
php
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ext/json/tests/bug50224.phpt
60 строк
2 KB
Tyson Andre
Clean up calls to extension_loaded('json') in tests
28 май 2020, 22:07
28 май 2020, 22:07
32a1ebb
Код
Авторство
О чём код?
--TEST-- bug #50224 (json_encode() does not always encode a float as a float) --INI-- serialize_precision=-1 --FILE-- <?php echo "* Testing JSON output\n\n"; var_dump(json_encode(12.3, JSON_PRESERVE_ZERO_FRACTION)); var_dump(json_encode(12, JSON_PRESERVE_ZERO_FRACTION)); var_dump(json_encode(12.0, JSON_PRESERVE_ZERO_FRACTION)); var_dump(json_encode(0.0, JSON_PRESERVE_ZERO_FRACTION)); var_dump(json_encode(array(12, 12.0, 12.3), JSON_PRESERVE_ZERO_FRACTION)); var_dump(json_encode((object)array('float' => 12.0, 'integer' => 12), JSON_PRESERVE_ZERO_FRACTION)); echo "\n* Testing encode/decode symmetry\n\n"; var_dump(json_decode(json_encode(12.3, JSON_PRESERVE_ZERO_FRACTION))); var_dump(json_decode(json_encode(12, JSON_PRESERVE_ZERO_FRACTION))); var_dump(json_decode(json_encode(12.0, JSON_PRESERVE_ZERO_FRACTION))); var_dump(json_decode(json_encode(0.0, JSON_PRESERVE_ZERO_FRACTION))); var_dump(json_decode(json_encode(array(12, 12.0, 12.3), JSON_PRESERVE_ZERO_FRACTION))); var_dump(json_decode(json_encode((object)array('float' => 12.0, 'integer' => 12), JSON_PRESERVE_ZERO_FRACTION))); var_dump(json_decode(json_encode((object)array('float' => 12.0, 'integer' => 12), JSON_PRESERVE_ZERO_FRACTION), true)); ?> --EXPECTF-- * Testing JSON output string(4) "12.3" string(2) "12" string(4) "12.0" string(3) "0.0" string(14) "[12,12.0,12.3]" string(27) "{"float":12.0,"integer":12}" * Testing encode/decode symmetry float(12.3) int(12) float(12) float(0) array(3) { [0]=> int(12) [1]=> float(12) [2]=> float(12.3) } object(stdClass)#%d (2) { ["float"]=> float(12) ["integer"]=> int(12) } array(2) { ["float"]=> float(12) ["integer"]=> int(12) }