3

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

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

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

echo $array[0][0];

我接受价值。只是好奇,不明白为什么。:/

4

2 回答 2

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];

这会直接访问要访问的数组值,而不受字符串插值规则的特定限制。

于 2013-08-26T13:22:31.363 回答
1

如果你使用的话,你可以把变量放在字符串中",但是 php 无法猜测你的意思是$array[0]然后是字符串[0],还是实际的变量$array[0][0]。它猜到了第一个。

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

echo "{$array[0][0]}"
于 2013-08-26T13:21:14.333 回答