下面这个语句显示解析错误。
echo $xmlArray[OTA_HotelAvailRS][Properties][Property][0_attr][HotelCityCode];
错误:语法错误,意外的T_STRING,期望']'
如何解决这个问题?
PHP默认将未使用引号的字面量视为常量,并且常量名称不能以数字开头。因此,0_attr
被解析为数字0,后跟一个名为_attr
的常量 - 这没有任何意义。
始终对数组索引加上引号。
echo $xmlArray['OTA_HotelAvailRS']['Properties']['Property']['0_attr']['HotelCityCode'];
缺少引号:
echo $xmlArray['OTA_HotelAvailRS']['Properties']['Property']['0_attr']['HotelCityCode'];
除非所有这些单词都被定义为常量,否则您正在做错误的事情。我想PHP在0_attr上给出了错误,但我不太确定。无论如何,索引是字符串,因此您必须将它们用引号括起来。
<?php
echo $xmlArray['OTA_HotelAvailRS']['Properties']['Property']['0_attr']['HotelCityCode'];
E_NOTICE
。 - Álvaro González