3v4l.org

run code in 300+ PHP versions simultaneously
<?php $tests = [ '1,000.00', '1,000.000', '1.000,00', '1.000,000', '1.00', '1.000', '1,00', '1,000', ]; var_export( preg_replace_callback( '/\.(?=.*,)|,(?=\d*$)/', fn($m) => ['.' => ',', ',' => '.'][$m[0]], $tests ) );
Output for 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
array ( 0 => '1,000.00', 1 => '1,000.000', 2 => '1,000.00', 3 => '1,000.000', 4 => '1.00', 5 => '1.000', 6 => '1.00', 7 => '1.000', )

preferences:
64.61 ms | 992 KiB | 4 Q