3v4l.org

run code in 300+ PHP versions simultaneously
<?php $versions = [ '1', '1.0.2.4', '1.1.0', '1.12.547.8' ]; $max = 0; $new = preg_replace_callback_array( [ "/(\d+).?/" => function($m)use(&$max){ if(($new = strlen($m[1])) > $max) $max = $new; return $m[0]; }, "/(\d+)$|(\d+.)/" => function($m)use(&$max){ return str_pad($m[0], ($m[1] !== "" ? $max : $max+1), "0", STR_PAD_LEFT); } ], $versions); print_r($new);

preferences:
18.86 ms | 402 KiB | 5 Q