我该如何解析这个数组

时间:2013-01-07 15:39:02

标签: php

让我们说这是我检索到的对象$myObj

Array
(
    [0] => xl_oio_0_1_Mytitle Object
                (
                        [_unknown:protected] => 
                        [header_:protected] => Header Object
                                (
                                        [_unknown:protected] => 
                                        [myId_:protected] => my_title
                                        [userId_:protected] => 
                                        [createTime_:protected] => 
                                )

                        [id_:protected] => ID Object
                                (
                                        [_unknown:protected] => 
                                        [id_:protected] => ingy3spdzE1uiMtCYRSlmwtX
                                )

                        [dataType_:protected] => 2
                        [picSize_:protected] => 8669
                        [userId_:protected] => ID Object
                                (
                                        [_unknown:protected] => 
                                        [id_:protected] => ingy3spdzE1uiMtCYRSlmwtX
                                )

                        [fName_:protected] => Joe
                        [lName_:protected] => Smith
                        [cDate_:protected] => RxyascTe89Xe4
                )
    [1] => etc...

我正在尝试解析名称和日期,我尝试了以下但没有运气。

$i=0;
while( $i < 20 ){

    // Notice: Trying to get property of non-object
    //$firstName    = $myObj->xl_oio_0_1_Mytitle->fName_;

    // Fatal error: Cannot use object of type
    //$firstName    = $myObj[$i]['fName_'];

    // Parse error: syntax error, unexpected T_OBJECT_OPERATOR
    $firstName  = $myObj->xl_oio_0_1_Mytitle(object->fName_);
    echo $firstName . '<br />';
    $i++;
}

1 个答案:

答案 0 :(得分:4)

答案很简单:除非对象为它们提供getter方法,否则无法访问任何这些值。

尝试$myObj[$i]->getFName() - 这是获得fName财产的最可能名称。

如果您不喜欢试验和错误,请查看对象的代码或使用Reflection获取对象具有的方法列表:

$ref = new ReflectionObject($myObj[0]);
print_r($ref->getMethods());