2010-11-09 114 views
1

访问对象请参阅对象阵列我在这里进行打印:我怎样才能在PHP

SimpleXMLElement对象 ( [@属性] =>数组 ( [发生器-INFO-名] =>万维网。 ontv.dk/xmltv )

[channel] => Array 
    (
     [0] => SimpleXMLElement Object 
      (
       [@attributes] => Array 
        (
         [id] => www.ontv.dk/tv/1 
        ) 

       [display-name] => DR1 DK 
      ) 

如何访问信道 - >显示名称

下面的代码不工作:

echo $ obj-> channel [0] - > display-name;

帮助我,请

回答

2

与破折号属性名必须正确引用:

echo $obj->channel[0]->{'display-name'}; 

否则,解析器看到它作为一个算术运算(即:$ obj->频道[0] - >显示器减去名称)。

+0

当我尝试将此字符串转换为其他数组时,例如:for($ i = 0; $ i <=count($s-> channel); $ i ++){ \t $ ChannelName [] = $ s-> channel [$ i] - > { '显示名'}; }它再次返回我的对象​​像==>阵列 ( [0] => SimpleXMLElement对象 ( [@属性] =>数组 ( [郎] => DK ) [0] = > DR1 DK ) ) 我需要再次转换成数组 – user502401 2010-11-09 21:53:37

+0

您需要一个递归函数将嵌套对象转换为数组。有关示例,请参阅[本页](http://php.net/manual/en/book.simplexml.php)上的注释。 – netcoder 2010-11-10 14:18:06