3v4l.org

run code in 300+ PHP versions simultaneously
<?php $test_numbers = array(20,100,555,777,1111); foreach($test_numbers as $number){ $test_array = randomArray($number); $ins = insertionSort($test_array); $select = selectionSort($test_array); echo " Select Time " .$select['time']." Select Iterations: ".$select['iterations']. " Insert Time " .$ins['time']." Insert Iterations: ".$ins['iterations']."</br>"; } function insertionSort($sort_array){ $time_start = microtime(true); $iterations = 0; for ($i = 0; $i<count($sort_array)-1; $i++){ $j = $i+1; while ($j>0){ if ($sort_array[$j-1] > $sort_array[$j]){ $iterations++; $temp = $sort_array[$j-1]; $sort_array[$j - 1] = $sort_array[$j]; $sort_array[$j] = $temp; } $j--; } } $time_end = microtime(true); $time = $time_end - $time_start; $return = array("array" => $sort_array, "time" => number_format(($time),7, '.', ''), "iterations" => $iterations); return $return; } function selectionSort($sort_array) { $time_start = microtime(true); $iterations = 0; $count = count($sort_array); for ($i = 0; $i < $count - 1; $i++) { $min = $i; for ($j = $i + 1; $j < $count; $j++) { $iterations++; if ($sort_array[$j] < $sort_array[$min]) $min = $j; } $temp = $sort_array[$i]; $sort_array[$i] = $sort_array[$min]; $sort_array[$min] = $temp; } $time_end = microtime(true); $time = $time_end - $time_start; $return = array("array" => $sort_array, "time" => number_format(($time),7, '.', ''), "iterations" => $iterations); return $return; } function randomArray($max){ $random = range(0, $max-1); shuffle($random ); return $random; }

preferences:
24.95 ms | 407 KiB | 5 Q