关于在php中打印2D数组

时间:2013-08-26 13:18:12

标签: php

我想问一下为什么当我在PHP中回应这样的特定单元格时:

echo "$array[0][0]";

我得到类似:Array [0] 当我像这样回应它时:

echo $array[0][0];

我接受了价值。 只是好奇,无法理解为什么。 :/

2 个答案:

答案 0 :(得分:2)

简单字符串插值语法允许解释一级数组:

"foo $array[0] bar"

这将计算字符串文字内变量的值。这是一个方便的功能,可以避免输入大量的连接操作符('foo ' . $array[0] . ' bar')。

还有复杂字符串插值语法,它允许嵌套表达式:

"foo {$array[0][0]} bar"

请参阅http://php.net/manual/en/language.types.string.php#language.types.string.parsing

另一方面:

echo $array[0][0];

这将直接访问数组值,因为它不需要字符串插值规则的特定限制。

答案 1 :(得分:1)

如果使用",您可以将变量放在字符串中,但php无法猜测您是$array[0]还是字符串[0],或实际变量$array[0][0]。它猜到了第一个。

如果您想在字符串中执行此操作,请添加{以显示变量是什么。

echo "{$array[0][0]}"