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 ) );

preferences:
24.81 ms | 405 KiB | 5 Q