如何在PHP中使用(创建和访问)空2D数组

如何在PHP中使用(创建和访问)空2D数组,php,arrays,Php,Arrays,我想在PHP中定义一个新的2D数组(在循环的后期填充并访问它),但我在处理它时遇到了问题。我浏览了一些文章(),但它仍然不适合我 我的代码是: $part = array(array()); for ($i=0; $i<4; $i++) { for ($j=0; $j<3; $j++) { $part[$i][$j]=3; } } for ($i=0; $i<4; $i++) { for ($j=0; $j<3; $j++) {

我想在PHP中定义一个新的2D数组(在循环的后期填充并访问它),但我在处理它时遇到了问题。我浏览了一些文章(),但它仍然不适合我

我的代码是:

$part = array(array());
for ($i=0; $i<4; $i++) {
    for ($j=0; $j<3; $j++) {
        $part[$i][$j]=3;
    }
}

for ($i=0;  $i<4; $i++) {
    for ($j=0; $j<3; $j++) {
        echo "values i=$i, j=$j: $part[$i][$j]\n<br>";
    }
} 
输出中提到的第43行是:

echo "values i=$i, j=$j: $part[$i][$j]\n<br>";
上述第55行是:

Notice: Array to string conversion in /var/www/html/ftth1/sandbox.php on line 43
values i=0, j=0: Array[0]

Notice: Array to string conversion in /var/www/html/ftth1/sandbox.php on line 43
values i=0, j=1: Array[1]

Notice: Array to string conversion in /var/www/html/ftth1/sandbox.php on line 43
values i=0, j=2: Array[2]

Notice: Array to string conversion in /var/www/html/ftth1/sandbox.php on line 43
values i=1, j=0: Array[0]
...
echo "$a[$c][$r] \n<br>";
echo“$a[$c][$r]\n
”;

有人能帮我解决这个问题吗?谢谢。

在字符串插值中使用“复杂”表达式时,需要使用大括号,即

    echo "values i=$i, j=$j: {$part[$i][$j]}\n<br>";
echo“值i=$i,j=$j:{$part[$i][$j]}\n
”;
请注意
{…}
部分周围的
$part[$i][$j]
部分

当一个表达式不仅仅是一个简单的变量名时,它就会变得“复杂”

看 和


请注意,复杂语法也可以用于普通变量,也就是说,您可以使用
{$i}。。。{$j}
以保持一致性。

在字符串插值中使用“复杂”表达式时,需要使用大括号,即

    echo "values i=$i, j=$j: {$part[$i][$j]}\n<br>";
echo“值i=$i,j=$j:{$part[$i][$j]}\n
”;
请注意
{…}
部分周围的
$part[$i][$j]
部分

当一个表达式不仅仅是一个简单的变量名时,它就会变得“复杂”

看 和


请注意,复杂语法也可以用于普通变量,也就是说,您可以使用
{$i}。。。{$j}
以确保一致性。

“值i={$i},j={$j}:{$part[$i][$j]}\n
-在“复杂”时必须使用,但可以与任何变量一起使用。为了可读性,我会这样做。@ficuscr很好,谢谢。谢谢。问题确实在括号内。非常感谢。
“值i={$i},j={$j}:{$part[$i][$j]}\n
-在“复杂”时必须使用,但可以与任何变量一起使用。为了可读性,我会这样做。@ficuscr很好,谢谢。谢谢。问题确实在括号内。谢谢。
    echo "values i=$i, j=$j: {$part[$i][$j]}\n<br>";