Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak dobrać się do właściwości (pół?) obiektu (zwracanego np. przez API allegro)
marcinpl87
post 12.08.2012, 13:48:45
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 22.05.2007

Ostrzeżenie: (0%)
-----


Trochę głupie pytanie mam bo nie mogę odwołać się do jednej właściwości/pola obiektu zwracanego przez API.

Mój request wygląda tak:
  1. $items = $client->doShowCat($session['session-handle-part'], 5914);

$client jest instancją klasy SoapClient a to $session['session-handle-part'] biorę sobie z odpowiedzi na request w którym wysyłam dane do logowania.

To mi zwraca tablicę obiektów, i po tej tablicy iteruję sobie w pętli foreach:
  1. foreach($items['cat-items-array'] as $item) {
  2. ...
  3. }

i jak w środku pętli wpiszę
  1. var_dump($item);

to dostaję:
  1. object(stdClass)#33 (27) {
  2. ["s-it-id"]=>
  3. float(2534983500)
  4. ["s-it-name"]=>
  5. string(50) "PLAYSTATION MOVE STARTER - KONTROLER MOVE + KAMERA"
  6. ["s-it-price"]=>
  7. float(0)
  8. ["s-it-starting-price"]=>
  9. float(0)
  10. (...)
  11. ["s-it-is-allegro-standard"]=>
  12. int(0)
  13. ["s-it-has-free-shipping"]=>
  14. int(0)
  15. ["s-it-order-fulfillment-time"]=>
  16. int(0)
  17. }

I nie wiem teraz jak wyświetlić jedną właściwość/pole/wartość :/
var_dump($item["s-it-id"]); nic nie zwraca
var_dump($item->s-it-id); zwraca int(0) choć to nie prawda wink.gif

wiem że mogę użyć get_object_vars() na tym obiekcie i potem odwoływać się do niego jak do arraya, ale czy mogę bez tego get_object_vars() odwoływać się bezpośrednio do poszczególnych pól? jak to zrobić?
Go to the top of the page
+Quote Post
Yorki
post 12.08.2012, 13:52:13
Post #2





Grupa: Zarejestrowani
Postów: 45
Pomógł: 2
Dołączył: 12.09.2005

Ostrzeżenie: (0%)
-----


A może:

  1. $item->{'s-it-id'}
Go to the top of the page
+Quote Post
marcinpl87
post 12.08.2012, 14:05:40
Post #3





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 22.05.2007

Ostrzeżenie: (0%)
-----


Wow! działa, dziękuję bardzo!
Czy mogę prosić jeszcze o małe wyjaśnienie dlaczego taki zapis? i dlaczego $item->s-it-id nie działa w tym przypadku?
Go to the top of the page
+Quote Post
Crozin
post 12.08.2012, 14:18:37
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Ponieważ w takim przypadku minus traktowany jest jako operator odejmowania. Ostecznie taki kod jest rozumiany jako wyrażenie o wartości: od właściwości "s" obiektu $item odejmij wartość stałej "it" oraz wartość stałej "id".
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 16.05.2024 - 01:46