该代码在php 7.0中运行。移至7.2版本后出现错误。 我需要帮助来了解这一点。 我有一个$ map和$ tempArray $ locMap的print_r值在下面给出
Array
(
[1] => Array
(
[ID] => 1
[LEVEL] => 1
[NAME] => Operations1
[CLASS] => ["e2"]["00"]
)
[2] => Array
(
[ID] => 2
[LEVEL] => 1
[NAME] => POperations2
[CLASS] => ["e2"]["01"]
)
[26] => Array
(
[ID] => 26
[LEVEL] => 2
[NAME] => Operations3
[CLASS] => ["e2"]["01"]["e2"]["00"]
)
)
$ tempArray的print_r值如下
Array
(
[account] => Array
(
[0] => Array
(
[id] => 1000
[name] => Homes
[level] =>
[rno] => 9
)
)
)
按如下所示循环显示此$ map
foreach ($map $rec=>$det) {
$dummyArray = array();
$dummyArray['id'] = $det['ID'];
$dummyArray['CLASS'] = $det['CLASS'];
eval("\$tempArray['account'][0]".$det["CLASS"]." = \$dummyArray;");
}
错误:无法在**************中使用字符串偏移量作为数组:eval()的代码:1
在eval函数内部,“ \ $ tempArray ['account'] [0]”是一个字符串,并再次与该字符串连接。 在这种情况下为什么会出现错误? 帮助我了解这一点以及如何解决此问题?