>  기사  >  php教程  >  PHP打印环状数圈

PHP打印环状数圈

PHP中文网
PHP中文网원래의
2016-05-25 17:14:551721검색

跳至

    /** 
     * 二维数组排序 
     * @param   array $array 
     */  
    function sort_recursive(&$array){  
        foreach($array as $key=>$edge){  
            ksort($edge,true);  
            $array[$key]=$edge;  
        }  
        ksort($array,true);  
    }  
      
    /** 
     * 生成一圈环状数字 
     * @param   array $cotainer    二维数组,包含生成的圈 
     * @param   int $start_value    该圈的起始值 
     * @param   int $x    该圈的偏移值 
     * @param   int $grids_edge    每条边的数字个数 
     */  
    function generate(&$container,$start_value,$x,$grids_edge){  
        $rec_times=ceil($grids_edge/2);  
        $center=$grids_edge&1?false:$start_value+4*$rec_times*($rec_times+1);  
        if($center){  
            $index=$x+ceil($grids_edge/2);  
            $container[$index][$index]=$center;  
        }  
        for($i=0;$iarray(1,6),  
        25=>array(2,4),  
        41=>array(3,2),  
    );  
    /* 
    $data=array( 
        1 =>array(1,2), 
    ); 
    $data=array( 
        1 =>array(1,5), 
        21=>array(2,3), 
        33=>array(3,1), 
    ); 
    $data=array( 
        1 =>array(1,3), 
        13=>array(2,1), 
    ); 
    */  
    foreach($data as $key=>$val){  
        generate($container,$key,$val[0],$val[1]);  
    }  
    sort_recursive($container);  
    $table='';  
    foreach($container as $key=>$edge){  
        $table.='';  
        foreach($edge as $val){  
            $table.=''.$val.'';  
        }  
        $table.='';  
    }  
    $table.='';  
    echo $table;

                   

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:无损裁剪图片다음 기사:PHP读取远程文件