取得某个数组前key大 PHP实现

<?php                                             
function max_key($arr, $key)                      
{                                                 
    $tmp_key = $key;                              
    $max_arr = array();                           
    while($tmp_key--) $max_arr[] = 0; // 补充0这个写法很好
    foreach($arr as $num)                         
    {                                             
        $tmp_key = $key;                          
        for($i=0; $i<$key; $i++) {                
            if($num>$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));   

 

posted on 2014-03-19 20:38  出发的兰彻  阅读(442)  评论(0编辑  收藏  举报

导航