【问题标题】:How to fill an array with algorythm如何用算法填充数组
【发布时间】:2021-09-22 12:03:50
【问题描述】:

我想对类似数独的表格进行测试。 代码的第一部分可以制作一个 7x7 的表格,其中包含像数独这样的数字而没有任何正常的外观。 代码的第二部分制作了一个具有基本外观的 7x7 表。 我怎样才能把它混合在一起?

<?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>";
?>

【问题讨论】:

    标签: php random html-table fill sudoku


    【解决方案1】:

    你只需要在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>";
        ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-22
      • 2021-11-25
      • 2018-04-13
      • 1970-01-01
      • 1970-01-01
      • 2017-05-12
      相关资源
      最近更新 更多