<?php /** * 冒泡排序,先找出一个最大的浮上去,然后再依次找最大的浮上去 */ function mpsort($a = []){ $nCount = count($a); if($nCount < 1){ return $a; } for($i=0; $i<$nCount; $i++){ // 外层循环决定真正的顺序 for($j=$nCount-1; $j>$i; $j--){ // 里层循环决定每两块比较的元素的顺序 if($a[$j] > $a[$j-1]){ // 真正比较的逻辑 --两两换位 $tmp = $a[$j-1]; $a[$j-1] = $a[$j]; $a[$j] = $tmp; } } } return $a; } $a = [120,2,500,3,34,1,700]; var_dump(mpsort($a));