(案例)PHP正常思想写任意宫格幻方

<?php
if(isset($_GET["n"])){
    $g=$_GET["n"];
}else{
    $g=3;
}
function hf($n)
{
    $a = $n;
    $x1 = 0;
    $y1 = ($a - 1) / 2;
    $arr[$x1][$y1] = 1;
    for ($i = 2; $i <= $a * $a; $i++) {
        $x2 = $x1 - 1;
        $y2 = $y1 + 1;
        if ($x2 == -1) {
            $x2 = $a - 1;
        }
        if ($y2 == $a) {
            $y2 = 0;
        }
        if (($i - 1) % $a == 0) {
            $x2 = $x1 + 1;
            $y2 = $y1;
        }
        $arr[$x2][$y2] = $i;
        $x1 = $x2;
        $y1 = $y2;
    }
    echo "foreach遍历数组没有顺序<br>";
    foreach ($arr as $value) {
        foreach ($value as $shu) {
            echo $shu . "&nbsp;";
        }
        echo "<br>";
    }
    echo "<br>";
    echo "<br>";
    echo "for循环遍历数组有顺序<br>";
    for ($i = 0; $i < $a; $i++) {
        for ($j = 0; $j < $a; $j++) {
            echo $arr[$i][$j] . " ";
        }
        echo "<br>";
    }
}
hf($g);
?>

posted @ 2017-05-21 22:16  安晓宇  阅读(147)  评论(0编辑  收藏  举报