【问题标题】:Loop through a PHP Multidimensional Array循环遍历 PHP 多维数组
【发布时间】:2016-02-16 20:08:04
【问题描述】:

我正在尝试创建一个具有特定行数和列数的二维数组,我已将其存储为变量 $n ;因此,如果 $n 为 5,我将有 5 行和 5 列,全部带有随机数。我创建了一个 for 循环(如下所示),它生成正确数量的行,但我不知道如何同时对列执行相同操作。我现在的代码如下所示。

<?php

    $n = 3;

    for($i=0; $i<=$n; $i++) {
        $value[$i][0] = rand(1,20);
        $value[$i][1] = rand(1,20);
        $value[$i][2] = rand(1,20);
        $value[$i][3] = rand(1,20);
    }   

    print "<table>";    
    for($j=0; $j<$n; $j++)  { // Runs the loop times $n
        print "<tr>";
        for($k=0; $k<$n; $k++)  { // Runs the loop times $n
            print "<td>" . $value[$j][$k] . "</td>";
        }   
        print   "</tr>";    
    }   
    print   "</table>";

?>

在学习创建此数组循环时,我们将不胜感激。提前致谢。

【问题讨论】:

    标签: php loops for-loop multidimensional-array


    【解决方案1】:

    您需要在第一个循环中添加第二个循环:

    for($i=0; $i<=$n; $i++) { // rows
        for($j=0; $j<=$n; $j++) { // columns
            $value[$i][$j] = rand(1,20);
        }
    }
    

    【讨论】:

    • 完美运行,非常感谢。只要允许,我都会接受答案。
    【解决方案2】:

    试试这个:

    $n = 3;
    
    for($i=0; $i<=$n; $i++) {
        $value[$i][0] = rand(1,20);
        $value[$i][1] = rand(1,20);
        $value[$i][2] = rand(1,20);
        $value[$i][3] = rand(1,20);
    }   
    
    print "<table>";    
    foreach($value as $row){
        print "<tr>";
        foreach($row as $cell){
            print "<td>" . $cell . "</td>";
        }
        print "</tr>";
    }
    print "</table>";
    

    并使用 for 循环:

    print "<table>";
    for($i=0; $i<=$n; $i++) { // rows
        print "<tr>";
        for($j=0; $j<=(count($value[$i])-1); $j++) { // columns
            echo "<td>".$value[$i][$j]."</td>";
        }
        print "</tr>";
    }
    print "</table>";
    

    【讨论】:

      猜你喜欢
      • 2012-04-21
      • 2011-01-02
      • 2021-09-17
      • 1970-01-01
      • 2010-10-24
      • 1970-01-01
      相关资源
      最近更新 更多