Zastanawiam się, jak mogę uzyskać dostęp do tablicy stdObect stdObjects. Mam tablicę, która wygląda mniej więcej tak podczas drukowania za pomocą print_r()
:
stdClass Object ([item] => Array(
[0] => stdClass Object([id] => 0 [name] => Peter)
[1] => stdClass Object([id] => 1 [name] => Jack)))
Jak mogę uzyskać dostęp do pola nazwy? Gdyby to nie była tablica, mógłbym uzyskać atrybuty, wywołując pole, na przykład:
$client = new SoapClient("http://url.to.my.wsdl", array("trace" => 0));
echo $client->GetPerson()->name;
Ale w przypadku korzystania z tablic to nie działa:
$client = new SoapClient("http://url.to.my.wsdl", array("trace" => 0));
$persons = $client->GetPersons();
echo $persons[0]->name;
To tylko daje mi błąd:
Fatal error: Cannot use object of type stdClass as array
1
Rox
20 luty 2012, 15:08
3 odpowiedzi
Najlepsza odpowiedź
Zgodnie z informacjami o print_r, po prostu spróbuj
echo $persons->item[0]->name
2
Lake
20 luty 2012, 15:13
Spróbuj tego:
$persons->item[0]->name;
1
Rufinus
20 luty 2012, 15:13
Tablica jest zawarta w polu item
.
echo $persons->item[0]->name;
1
knittl
20 luty 2012, 15:13
Podobne pytania
Nowe pytania
php
PHP to szeroko stosowany, wysokopoziomowy, dynamiczny, zorientowany obiektowo i interpretowany język skryptowy przeznaczony głównie do tworzenia stron WWW po stronie serwera. Używane w przypadku pytań dotyczących języka PHP.