2011-10-29 230 views
0

可能重复:
Accessing Class Properties with Spaces如何从对象内访问数组?

我已经和目标文件,我不能让设备列表,如何获得设备?如何打电话给两个像“佳能相机”?

[Camera] => stdClass Object 
    (
     [Canon Camera] => stdClass Object 
      (
       [DEVICES] => Array 
        (
         [0] => Canon EOS 30 
         [1] => Canon EOS 5D Mark II 
         [2] => Canon EOS 7D 
         [3] => Canon EOS A2 
         [4] => Canon EOS Digital Rebel (300D) 
         [5] => Canon EOS Rebel XS 
         [6] => Canon PowerShot 1200 
         [7] => Canon PowerShot A200 
         [8] => Canon PowerShot A520 
         [9] => Canon PowerShot A550 


        ) 

      ) 
+0

请参阅http://stackoverflow.com/questions/7027615/accessing-class-properties-with-spaces –

+0

这是什么对象?看起来像一个联合。阵列我只有“设备”作为关键。使用数组和通常的foreach循环。或者用引号访问它。 – Smamatti

+0

@Qchmqs - 你的个人资料信息呢? '(...)你可以清楚地看到如何体验(...)'。您的评论不合适。 – hsz

回答

1

尝试用:

$object->Camera->{'Canon Camera'}->DEVICES 

然后,你将不得不DEVICES阵列的访问。

foreach ($object->Camera->{'Canon Camera'}->DEVICES as $device) { 
    echo $device . <br/>; 
} 
+0

+1,但一些解释可能是好的OP的好处 – Ross

+0

谢谢所有,你救我的生命.. –

0

数组中删除空格,使Canon Camera例如canon_camera

之后,你可以打开它想:

$camera->canon_camera->DEVICES 
0

您可以使用

$object->Camera->{'Canon Camera'}->DEVICES 
0

所以你正试图做这样的事情吗?:

foreach($devices_list->Camera->{'Canon Camera'}->DEVICES as $key => $value) { 
    echo $value."\n"; 
}