- preg_replace_callback: documentation ( source)
- var_export: documentation ( source)
<?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
)
);