Php 多维数组中的第二个维度从未达到,为什么?

Php 多维数组中的第二个维度从未达到,为什么?,php,multidimensional-array,Php,Multidimensional Array,有人能给我解释一下为什么这个代码不起作用吗 <?php for($i = 0; $i < 3; $i++) { for($j = 0; $j < 3; $j++) { $arr[$i][$j] = $i.$j; } } foreach ($arr as $key => $value) { foreach ($value as $key2 => $value2){ // line 8 = error e

有人能给我解释一下为什么这个代码不起作用吗

<?php
for($i = 0; $i < 3; $i++) {
    for($j = 0; $j < 3; $j++) {
        $arr[$i][$j] = $i.$j; 
    }
 }

 foreach ($arr as $key => $value) {
    foreach ($value as $key2 => $value2){ // line 8 = error
         echo  $key." ".$key2."<br />";
     }
 }
?>

我得到这个错误:

警告:为C:\wamp\www\script\index.php第8行中的foreach()提供的参数无效


我简直无法理解为什么我会犯这个错误。数组$arr应使用其两个维度中的值启动。对吗?

我已经尝试过了,并将其作为WAMP 2.2的输出:

0 0
0 1
0 2
1 0
1 1
1 2
2 0
2 1
2 2

你用的是最新的wamp吗?尝试下载并安装新的阵列。

在使用
print\r($arr)
创建阵列后,输出
$arr
阵列,查看其结构并验证其是否符合您的想法。此代码片段对我(php v5.3.8)有效。它肯定是其他东西。以下是您的代码演示:。唯一的区别是我将

”替换为
PHP\u EOL
,以获得更清晰的输出。@Ayman:PHP\u EOL仅在从控制台运行时才相关。切换到它会使基于网络的输出变得丑陋。不能两全其美。@MarcB模拟控制台输出,因此我必须使用
PHP\u EOL
来获得更清晰的输出。