0

可以说这是我检索到的对象$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++;
}
4

1 回答 1

4

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

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

如果您不喜欢反复试验,请查看对象的代码或使用反射来获取对象具有的方法列表:

$ref = new ReflectionObject($myObj[0]);
print_r($ref->getMethods());
于 2013-01-07T15:40:51.237 回答