访问对象的单个属性

时间:2012-02-11 14:47:04

标签: php api simplexml

  

可能重复:
  SimpleXML Reading node with a hyphenated name

我正在通过此页面上的API提取游戏锦标赛的一些数据 - http://www.sandwichmuffin.com/muffinleague/

我已经能够访问print_r函数输出中看到的一些属性,例如,回显我简单使用的锦标赛名称

echo $tournaments->tournament[0]->name;

然而,我对'description-source'做同样的事情很困难。是否有不同的方式来回应这个特定的属性?根据我的理解,我尝试过的几乎所有内容都会产生0或错误。

编辑:他们声称这个(http://challonge.com/api/tournaments)是从我的API查询返回的XML格式,如果有帮助的话。

3 个答案:

答案 0 :(得分:2)

$tournaments->tournament[0]->{"description-source"}

答案 1 :(得分:0)

您不能在属性名称中使用减号/连字符。尝试:

$descriptionSource = 'description-source';
echo $tournaments->tournament[0]->$descriptionSource;

希望这会有所帮助:)

修改

澄清:您不能在属性名称​​中使用减号/连字符而不转义它(如其他答案中所示)或将属性名称分配给变量(如我的示例所示)。

答案 2 :(得分:0)

“description-source”不是合法的php方法名称,所以你可以像这样调用

echo $ tournaments->锦标赛[0] - > {“description-source”};