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', ]; foreach ($tests as $test) { [$int, $sep, $dec] = preg_split('/.*\K([.,])/', $test, 3, PREG_SPLIT_DELIM_CAPTURE); var_dump($test, $int, $sep, $dec); echo "\n"; }
Output for 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
string(8) "1,000.00" string(5) "1,000" string(1) "." string(2) "00" string(9) "1,000.000" string(5) "1,000" string(1) "." string(3) "000" string(8) "1.000,00" string(5) "1.000" string(1) "," string(2) "00" string(9) "1.000,000" string(5) "1.000" string(1) "," string(3) "000" string(4) "1.00" string(1) "1" string(1) "." string(2) "00" string(5) "1.000" string(1) "1" string(1) "." string(3) "000" string(4) "1,00" string(1) "1" string(1) "," string(2) "00" string(5) "1,000" string(1) "1" string(1) "," string(3) "000"

preferences:
90.25 ms | 403 KiB | 62 Q