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
来获得更清晰的输出。