Home  >  Article  >  php教程  >  PHP打印环状数圈

PHP打印环状数圈

PHP中文网
PHP中文网Original
2016-05-25 17:14:551721browse

跳至

    /** 
     * 二维数组排序 
     * @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;

                   

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:无损裁剪图片Next article:PHP读取远程文件