PHP中的解析错误

4
下面这个语句显示解析错误。
 echo $xmlArray[OTA_HotelAvailRS][Properties][Property][0_attr][HotelCityCode];

错误:语法错误,意外的T_STRING,期望']'

如何解决这个问题?


2
我猜你能看到这里是因为你已经禁用了完整的错误报告。请确保你能看到所有的E_NOTICE - Álvaro González
3个回答

10

PHP默认将未使用引号的字面量视为常量,并且常量名称不能以数字开头。因此,0_attr被解析为数字0,后跟一个名为_attr的常量 - 这没有任何意义。

始终对数组索引加上引号。

 echo $xmlArray['OTA_HotelAvailRS']['Properties']['Property']['0_attr']['HotelCityCode'];

3

缺少引号:

echo $xmlArray['OTA_HotelAvailRS']['Properties']['Property']['0_attr']['HotelCityCode'];

3

除非所有这些单词都被定义为常量,否则您正在做错误的事情。我想PHP在0_attr上给出了错误,但我不太确定。无论如何,索引是字符串,因此您必须将它们用引号括起来。

<?php
echo $xmlArray['OTA_HotelAvailRS']['Properties']['Property']['0_attr']['HotelCityCode'];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接