Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]jak wyswietlic elementy klasy stdClass bez względu na ilośc elementów ?
wiewiorek
post
Post #1





Grupa: Zarejestrowani
Postów: 247
Pomógł: 11
Dołączył: 5.09.2009

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


SoapClient() zamienia mi przekazaną tablicę z jedną pozycją zamówienia:
  1. $tab['numer'] = '56';
  2. $tab['pozycjaZamowienia'][0]['nazwa'] = 'kot';
  3. $tab['pozycjaZamowienia'][0]['ilosc'] = 1;


na obiekt bez tablicy pozycji zamówienia:

  1. stdClass Object ( [numer] => 56 [pozycjaZamowienia] => stdClass Object ( [nazwa] => kot [ilosc] => 1 ) )


Natomiast tablicę z więcej niż jedną pozycją:
  1. $tab['numer'] = '57';
  2. $tab['pozycjaZamowienia'][0]['nazwa'] = 'pies';
  3. $tab['pozycjaZamowienia'][0]['ilosc'] = 1;
  4. $tab['pozycjaZamowienia'][1]['nazwa'] = 'wiewiorka';
  5. $tab['pozycjaZamowienia'][1]['ilosc'] = 1;


na obiekt z tablicą pozycji zamówienia:

  1. stdClass Object ( [numer] => 57 [pozycjaZamowienia] => Array ( [0] => stdClass Object ( [nazwa] => pies [ilosc] => 1) [1] => stdClass Object ( [nazwa] => wiewiorka [ilosc] => 1 ) ) )

Więc w pierwszym wypadku żeby przejść po elementach pozycji zamówienia trzeba pisać bez wykorzystania pętli:
  1. $nazwa = $tab->pozycjaZamowienia->nazwa;
  2. $ilosc = $tab->pozycjaZamowienia->ilosc;


a w drugim wypadku trzeba pisac z wykorzystaniem pętli:
  1. for($i = 0; $i < count($tab->pozycjaZamowienia); $i++)
  2. {
  3. $nazwa = $tab->pozycjaZamowienia[$i]->nazwa;
  4. $ilosc = $tab->pozycjaZamowienia[$i]->ilosc;
  5. }


Nie ma jakiegoś bardziej uniwersalnego sposobu, żeby zawsze można było używać pętli ?

Ten post edytował wiewiorek 18.08.2010, 15:25:18
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 20.08.2025 - 16:44