|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2007-07-05 17:33 UTC] derick@php.net
[2007-07-05 20:31 UTC] stingbat at stingbat dot dk
[2007-07-05 20:52 UTC] derick@php.net
[2007-07-05 21:13 UTC] stingbat at stingbat dot dk
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Fri Oct 24 05:00:02 2025 UTC |
Description: ------------ Seems like there has been a change to the var_export-function, when comparing PHP4 and PHP5, as stated below: PHP4 ---- 314 : case IS_DOUBLE: 315 8 : php_printf("%.*G", (int) EG(precision), Z_DVAL_PP(struc)); > from: http://gcov.php.net/PHP_4_4/lcov_html/ext/standard/var.c.gcov.php PHP5 ---- 407 : case IS_DOUBLE: 408 42 : php_printf("%.*H", (int) EG(precision), Z_DVAL_PP(struc)); > from: http://gcov.php.net/PHP_5_2/lcov_html/ext/standard/var.c.gcov.php Of some reason, the output don't give the same. I don't know if it's PHP4 that has always had this problem, or if it's a new problem only existing in PHP5. However, it gives difficulties, if trying to compare the results or want to output the results float-values to either JavaScript or Database. And especially when trying to create scripts that should work on both PHP-versions (4.x+5.x). Reproduce code: --------------- <?php $test_value = 1.50; setlocale(LC_ALL, 'da_DK.iso-8859-1', 'da_DK', 'danish', 'da'); echo 'DK: ' . var_export($test_value, TRUE) . "\n"; setlocale(LC_ALL, 'en'); echo 'EN: ' . var_export($test_value, TRUE) . "\n"; echo "\n" . PHP_VERSION; ?> Expected result: ---------------- DK: 1.5 EN: 1.5 Actual result: -------------- DK: 1,5 EN: 1.5