3v4l.org

run code in 300+ PHP versions simultaneously
<?php $amount = 12302342340.12; $number_sep = array(); $multi = 1; $exit = false; $i = 1000; for($j=3;$j < 15 ;$j=$j+2) { switch($j) { case 3: $temp = $amount % $i; if($i < $amount) { if(!$temp) { $number_sep[] = $i; } else { $amount = $amount - $temp; $number_sep[] = $temp; } } else { if(!$temp) { $number_sep[] = $i; } else { $number_sep[] = $temp; } $exit = true; } break; case $j > 3 : $temp = $amount % $i; if($i < $amount) { if(!$temp) { $number_sep[] = $i; } else { $amount = $amount - $temp; $number_sep[] = substr($temp, 0, 2); } } else { if(!$temp) { $number_sep[] = $i; } else { $number_sep[] = substr($temp, 0, 2); } $exit = true; }; break; } if($exit) { break; } $i = 10 * 10 * $i; } echo implode(',',array_reverse($number_sep));
Output for 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
Deprecated: Implicit conversion from float 12302342340.12 to int loses precision in /in/NN0EN on line 10 Deprecated: Implicit conversion from float 12302342000.12 to int loses precision in /in/NN0EN on line 28 Deprecated: Implicit conversion from float 12302300000.12 to int loses precision in /in/NN0EN on line 28 Deprecated: Implicit conversion from float 12300000000.12 to int loses precision in /in/NN0EN on line 28 Deprecated: Implicit conversion from float 12000000000.12 to int loses precision in /in/NN0EN on line 28 12,30,23,42,340
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.24 - 5.5.35, 5.6.8 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.20, 7.2.6 - 7.2.33, 7.3.12 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30
12,30,23,42,340

preferences:
250.57 ms | 405 KiB | 312 Q