Php herdoc要求{}打印多维数组值,但在普通数组上它不';T为什么?
在herdoc中写入和发布多维数组值时,需要{}。在普通阵列号上。下面是一个示例:Php herdoc要求{}打印多维数组值,但在普通数组上它不';T为什么?,php,arrays,multidimensional-array,heredoc,Php,Arrays,Multidimensional Array,Heredoc,在herdoc中写入和发布多维数组值时,需要{}。在普通阵列号上。下面是一个示例: $array = array('normal_key', 'normal_value'); $multidim = array(array('multi0_key', 'multi0_value'), array('multi1_key', 'multi1_value') ); $text1 =<<<EOBOD
$array = array('normal_key', 'normal_value');
$multidim = array(array('multi0_key', 'multi0_value'),
array('multi1_key', 'multi1_value')
);
$text1 =<<<EOBODY
Hello World!<br />
$array[0] $array[1]<br />
$multidim[0][0] $multidim[0][1]<br />
$multidim[1][0] $multidim[1][1]
EOBODY;
echo $text1;
//This prints:
/* Hello World!
* normal_key normal_value
* Array[0] Array[1]
* Array[0] Array[1] */
$text2 =<<<EOBODY
Hello World!<br />
$array[0] $array[1]<br />
{$multidim[0][0]} {$multidim[0][1]}<br />
{$multidim[1][0]} {$multidim[1][1]}
EOBODY;
echo $text2;
//This prints:
/* Hello World!
* normal_key normal_value
* multi0_key multi0_value
* multi1_key multi1_value */
$array=array('normal_key','normal_value');
$multidim=array(数组('multi0\u key','multi0\u value'),
数组('multi1\u键'、'multi1\u值')
);
$text1=这很正常。这是一个PHP解析器“bug”-在字符串中查找数组时并不贪婪:
$arr[1][2] = 'foo';
echo "$arr[1][2]"; non-greedy
echo $arr[1][2]; greedy, outputs 'foo'
被解析为
echo $arr[1], "[2]";
^^^^^^^--array
^^^^--string
output: Array[2]
在字符串上下文中回显数组将始终输出字面单词array
,而不是数组的内容
使用{}
符号强制PHP吸入整个数组引用:
echo "{$arr[1][2]}"; // outpus "foo";
“bug”既适用于正常的“
带引号的字符串,也适用于HEREDOCs。这是正常的。这是一个PHP解析器“bug”-在字符串中查找数组时并不贪婪:
$arr[1][2] = 'foo';
echo "$arr[1][2]"; non-greedy
echo $arr[1][2]; greedy, outputs 'foo'
被解析为
echo $arr[1], "[2]";
^^^^^^^--array
^^^^--string
output: Array[2]
在字符串上下文中回显数组将始终输出字面单词array
,而不是数组的内容
使用{}
符号强制PHP吸入整个数组引用:
echo "{$arr[1][2]}"; // outpus "foo";
“bug”既适用于正常的“
带引号的字符串,也适用于HEREDOCs。这是正常的。这是一个PHP解析器“bug”-在字符串中查找数组时并不贪婪:
$arr[1][2] = 'foo';
echo "$arr[1][2]"; non-greedy
echo $arr[1][2]; greedy, outputs 'foo'
被解析为
echo $arr[1], "[2]";
^^^^^^^--array
^^^^--string
output: Array[2]
在字符串上下文中回显数组将始终输出字面单词array
,而不是数组的内容
使用{}
符号强制PHP吸入整个数组引用:
echo "{$arr[1][2]}"; // outpus "foo";
“bug”既适用于正常的“
带引号的字符串,也适用于HEREDOCs。这是正常的。这是一个PHP解析器“bug”-在字符串中查找数组时并不贪婪:
$arr[1][2] = 'foo';
echo "$arr[1][2]"; non-greedy
echo $arr[1][2]; greedy, outputs 'foo'
被解析为
echo $arr[1], "[2]";
^^^^^^^--array
^^^^--string
output: Array[2]
在字符串上下文中回显数组将始终输出字面单词array
,而不是数组的内容
使用{}
符号强制PHP吸入整个数组引用:
echo "{$arr[1][2]}"; // outpus "foo";
“bug”同时适用于正常的“
带引号的字符串和HEREDOCs