(案例)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 . " ";
}
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);
?>