如何用算法填充数组

How to fill an array with algorythm

我想测试一下像 table 这样的数独游戏。 代码的第一部分可以制作一个 7x7 table 的数字,如数独,没有任何正常外观。 代码的第二部分制作一个具有基本外观的 7x7 table。 我怎样才能将它们混合在一起?

<?php
$n = 7; //szám

$seed_row = range(1, $n); //mettől meddig
shuffle($seed_row); //keverés

$result = array();
for($x = 0; $x < $n; $x++)
{
    $tmp_ar = array();
    $rnd_start = $seed_row[$x];
    for($y = $rnd_start; $y < ($n + $rnd_start); $y++)
    {
        if($y >= $n) $idx = $y - $n;
        else $idx = $y;
        $tmp_ar[] = $seed_row[$idx];
    }
    $result[] = $tmp_ar;
}

for($x = 0; $x < $n; $x++)
{
    echo implode(' ', $result[$x]) . "<br/>\n";

}

//second part

echo '<table border="1" style="height:50%; width:50%;">';
    for ($i=0; $i < 7; $i++) {      
        echo "<tr>";
            for ($j=0; $j < 7; $j++) { 
                echo "<td>";                
                    
                echo "</td>";
                }
        echo "</tr>";
    }
echo "</table>";
?>

你只需要在for循环中输出你的数组

   <?php
    $n = 7; //szám
    
    $seed_row = range(1, $n); //mettől meddig
    shuffle($seed_row); //keverés
    
    $result = array();
    for($x = 0; $x < $n; $x++)
    {
        $tmp_ar = array();
        $rnd_start = $seed_row[$x];
        for($y = $rnd_start; $y < ($n + $rnd_start); $y++)
        {
            if($y >= $n) $idx = $y - $n;
            else $idx = $y;
            $tmp_ar[] = $seed_row[$idx];
        }
        $result[] = $tmp_ar;
    }
    
    
    //second part
    
    echo '<table border="1" style="height:50%; width:50%;">';
        for ($i=0; $i < 7; $i++) {      
            echo "<tr>";
                for ($j=0; $j < 7; $j++) { 
                    echo "<td>";                
                    echo $result[$i][$j];    
                    echo "</td>";
                    }
            echo "</tr>";
        }
    echo "</table>";
    ?>