2012-02-20 1 views
1

stdObject의 stdObect 배열에 어떻게 액세스 할 수 있는지 궁금합니다. 나는 print_r()와 함께 인쇄 할 때 다음과 같이 보입니다 배열을 가지고 :표준 클래스의 stdClass 배열에있는 멤버에 어떻게 액세스합니까?

가 어떻게 이름 필드에 액세스 할 수 있습니다

stdClass Object ([item] => Array(
    [0] => stdClass Object([id] => 0 [name] => Peter) 
    [1] => stdClass Object([id] => 1 [name] => Jack))) 
?

$client = new SoapClient("http://url.to.my.wsdl", array("trace" => 0)); 
echo $client->GetPerson()->name; 

을하지만 배열을 사용하는 경우,이 작동하지 않습니다 : 그것은 배열이라면, 내가 좋아하는 필드를 호출하여 특성을 얻을 수있는 나에게 오류를 제공 단지

$client = new SoapClient("http://url.to.my.wsdl", array("trace" => 0)); 
$persons = $client->GetPersons(); 
echo $persons[0]->name; 

를 :

Fatal error: Cannot use object of type stdClass as array 

답변

2

당신의 print_r의 정보에 따르면, 단지 시도

echo $persons->item[0]->name 
1

이 시도 :

$persons->item[0]->name; 
+0

고마워요! 3 명의 서로 다른 사람의 똑같은 대답 3 번 :-) 가장 평판이 좋은 사람 (@ 레이크)에게 "정답"을 줄 것입니다. 희망은 괜찮습니다 :) 물론 – Rox

+0

입니다. – Rufinus

1

배열은 item 필드 내에 포함된다.

echo $persons->item[0]->name; 
+0

감사합니다! 3 명의 서로 다른 사람의 똑같은 대답 3 번 :-) 가장 평판이 좋은 사람 (@ 레이크)에게 "정답"을 줄 것입니다. 희망 that's ok :) – Rox

관련 문제