$max_arr[$i]) break; //break后 $i值 不变 } while($tmp_key>$i) { // while同时也是一个判断 $max_arr[$tmp_key] = $max_arr[--$tmp_key]; } // while结束以后必然又 $tmp_key = $i; $max_arr[$tmp_key] = $num; } return $max_arr; } print_r(max_key(array(4,6,9,3,5,7,8,6,7,2,3) , 3));