Heim  >  Artikel  >  php教程  >  PHP打印环状数圈

PHP打印环状数圈

PHP中文网
PHP中文网Original
2016-05-25 17:14:551682Durchsuche

跳至

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

                   

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:无损裁剪图片Nächster Artikel:PHP读取远程文件