$arr=array(23,5,26,4,9,85,10,2,55,44,21,39,11,16,55,88,421,226,588); function maopao($arr,$value){//$value 1:从小到大的标志 2:从大到小的标志 $n=count($arr); for($h=0;$h<$n-1;$h++){ for($i=0;$i<$n-$h-1;$i++){ if($value==1){//从小到大 if($arr[$i]>$arr[$i+1]){ $kong=$arr[$i+1]; $arr[$i+1]=$arr[$i]; $arr[$i]=$kong; } }else{//从大到小 if($arr[$i]<$arr[$i+1]){ $kong=$arr[$i+1]; $arr[$i+1]=$arr[$i]; $arr[$i]=$kong; } } } } return $arr; } print_r(maopao($arr,2));//从大到小 print_r(maopao($arr,1));//从小到大