1 <?php 2 function swap(&$a, &$b){ 3 $c = $a; 4 $a = $b; 5 $b = $c; 6 } 7 8 # insertion sort 9 # ascend 10 function sortInsertion(&$a){ # a is an array of numbers 11 12 # length of a 13 $m = count($a); 14 15 if($m < 2){ 16 return; 17 } 18 19 # for m numbers, we have m-1 numbers to insert 20 for($i=1; $i<=$m-1; $i++){ 21 for($j=$i; $j>0; $j--){ 22 if($a[$j] < $a[$j-1]){ 23 swap($a[$j], $a[$j-1]); 24 } 25 } 26 } 27 28 return; 29 } 30 31 $arr = range(5, 0); 32 sortInsertion($arr); 33 echo implode(', ', $arr); 34 35 // 0, 1, 2, 3, 4, 5 36 ?>