3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ '18 1/2"', '18"', '4"', '18 11/12"', '18 1/4"' ]; $asDecimal = preg_replace_callback( '/(\d+)(?: (\d+)\/(\d+))?"/', function ($m) { return $m[1] . (isset($m[3]) ? $m[2] / $m[3] : ''); }, $array ); var_export($asDecimal); echo "\n"; array_multisort($asDecimal, SORT_NUMERIC, $array); var_export($array);

preferences:
24.9 ms | 406 KiB | 5 Q