Closed
Description
Q | A |
---|---|
Bug report? | yes |
Feature request? | no |
BC Break report? | no |
RFC? | no |
Symfony version | >= 3.2.0 |
This…
use Symfony\Component\VarDumper\Cloner\VarCloner;
use Symfony\Component\VarDumper\Dumper\CliDumper;
// Ensure locale uses `.` for decimal separator
setlocale(LC_NUMERIC, 'en_US');
$cloner = new VarCloner();
$dumper = new CliDumper(null, null, CliDumper::DUMP_LIGHT_ARRAY | CliDumper::DUMP_COMMA_SEPARATOR);
$dumper->dump($cloner->cloneVar([1, 2.3, 4]));
Works as you'd expect:
[
1,
2.3,
4
]
But this…
use Symfony\Component\VarDumper\Cloner\VarCloner;
use Symfony\Component\VarDumper\Dumper\CliDumper;
// Switch to a locale with `,` as a decimal separator
setlocale(LC_NUMERIC, 'fr_FR');
$cloner = new VarCloner();
$dumper = new CliDumper(null, null, CliDumper::DUMP_LIGHT_ARRAY | CliDumper::DUMP_COMMA_SEPARATOR);
$dumper->dump($cloner->cloneVar([1, 2.3, 4]));
Gets a little weird:
[
1,
2,3,
4
]
And if you change locales after creating a dumper…
use Symfony\Component\VarDumper\Cloner\VarCloner;
use Symfony\Component\VarDumper\Dumper\CliDumper;
// Ensure locale uses `.` for decimal separator
setlocale(LC_NUMERIC, 'en_US');
$cloner = new VarCloner();
$dumper = new CliDumper(null, null, CliDumper::DUMP_LIGHT_ARRAY | CliDumper::DUMP_COMMA_SEPARATOR);
// Switch to a locale with `,` as a decimal separator
setlocale(LC_NUMERIC, 'fr_FR');
$dumper->dump($cloner->cloneVar([1, 2.3, 4]));
It gets weirdest of all:
[
1,
2,3.0,
4
]