循环遍历PHP多维数组

时间:2015-11-15 18:26:10

标签: php loops for-loop multidimensional-array

我试图创建一个具有特定行数和列数的二维数组,我已将其存储为变量 $ n ;所以如果$ n是5,我会有5行和5个cols,都是随机数。我创建了一个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>";

?>

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

2 个答案:

答案 0 :(得分:1)

在第一个循环中需要第二个循环:

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

答案 1 :(得分:1)

请改为尝试:

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