Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Print_r
ewaslawek5
post
Post #1





Grupa: Zarejestrowani
Postów: 89
Pomógł: 2
Dołączył: 5.11.2007

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


Dzień Dobry,
Proszę o wyrozumiałość i o pomoc, mam tak:
  1. echo'<pre>';
  2. print_r(json_decode($data));
  3. echo'</pre>';

Powyższy kod wyświetla mi tablicę z obiektami, lub obiekt z tablicami (sam nie wiem - ale chyba to drugie):
  1. stdClass Object
  2. (
  3. [0] => stdClass Object
  4. (
  5. [id] => 1
  6. [name] => Write
  7. [image] => 2016_write.jpg
  8. [banner] => 2016_separadores_topo_write.jpg
  9. [icon] => 2016_write.png
  10. [db_name] =>
  11. )
  12.  
  13. [1] => stdClass Object
  14. (
  15. [id] => 2
  16. [name] => Technology
  17. [image] => 2016_technology.jpg
  18. [banner] => 2016_separadores_topo_technology.jpg
  19. [icon] => 2016_technology.png
  20. [db_name] =>
  21. )
  22.  
  23. [2] => stdClass Object
  24. (
  25. [id] => 3
  26. [name] => Cork
  27. [image] => 2016_cork.jpg
  28. [banner] => 2016_separadores_topo_cork.jpg
  29. [icon] => 2016_cork.png
  30. [db_name] =>
  31. )
  32.  
  33. )


Z obiektami nie miałem do czynienia, mój problem polega na tym, że nie wiem jak wyciągnąć z tej tablicy obiektów dowolnie wybraną wartość, np. dowolne [name], gdyby nie było obiektów, problemu bym nie miał, jestem hobbystą PHP-a i nie wiem jak to ruszyć. Proszę koledzy programiści o poradę lub wskazówkę (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
rad11
post
Post #2





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

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


  1. $data = json_decode($data);
  2. echo $data[0]->id;
Go to the top of the page
+Quote Post
ewaslawek5
post
Post #3





Grupa: Zarejestrowani
Postów: 89
Pomógł: 2
Dołączył: 5.11.2007

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


Dzięki za odpowiedź, sprawdziłem, wyskoczył błąd:
Fatal error: Cannot use object of type stdClass as array in C:\wamp\www\
(IMG:style_emoticons/default/sad.gif)


W drugiej linijce jest błąd, proszę mi pomóc, jestem w biedzie bardzo dużej ... proszę ,proszę..
Go to the top of the page
+Quote Post
Pyton_000
post
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


dodaj true do json_decode (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
trueblue
post
Post #5





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


  1. $data = json_decode($data);
  2. echo $data->{0}->id;
Go to the top of the page
+Quote Post
ewaslawek5
post
Post #6





Grupa: Zarejestrowani
Postów: 89
Pomógł: 2
Dołączył: 5.11.2007

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


Dzięki za pomoc, naprowadziliście mnie, problem rozwiązałem.
Za pomocą funkcji:
  1. //zmiana obiektu na tablice
  2. function obj2arr(stdClass $object) {
  3. $array = array();
  4. foreach ($object as $key => $value) {
  5. if ($value instanceof stdClass) {
  6. $array[$key] = obj2arr($value);
  7. } else {
  8. $array[$key] = $value;
  9. }
  10. }
  11.  
  12. return $array;
  13. }

Zamieniłem objekt na tablicę i teraz mogę robić co chcę (IMG:style_emoticons/default/smile.gif)
Dziękuje i pozdrawiam.
Go to the top of the page
+Quote Post
Pyton_000
post
Post #7





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


(IMG:style_emoticons/default/facepalmxd.gif)
Go to the top of the page
+Quote Post
Tomplus
post
Post #8





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

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


@ewaslawek5
Przecież podpowiedzieli Ci dużo lepsze rozwiązanie niż tworzenie specjalnych funkcji:

  1. $array = json_decode($JSON, true);
  2. //wartość true, deklaruje że wynik dekodowania będzie zawsze tablicą

Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 18:28