Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: json_decode dotarcie do danych z array
Forum PHP.pl > Forum > PHP
DannyM
Witajcie

Jak szybko dotrzeć do errorMessage?

  1.  
  2. foreach ( $json['failedOrders'] as $transfers ) {
  3.  
  4. foreach ( $transfers as $params ) {
  5. foreach ( $params as $insides ) {
  6. foreach ( $insides as $name => $value ) {
  7.  
  8. if ( $name == 'errorMessage') {
  9. echo $name;
  10. }
  11.  
  12.  
  13. }
  14. }
  15. }
  16. }
  17.  


coś mi tutaj nie działa jak trzeba sad.gif

  1. Array
  2. (
  3. [success] => 0
  4. [errors] => 1
  5. [createdOrders] => Array
  6. ()
  7.  
  8. [failedOrders] => Array
  9. (
  10. [0] => Array
  11. (
  12. [details] => Array
  13. (
  14.  
  15.  
  16. [errors] => Array
  17. (
  18. [0] => Array
  19. (
  20. [errorCode] => 25
  21. [errorMessage] => No channels were found
  22.  
  23.  
  24. )
  25.  
  26. )
  27.  
  28. )
  29.  
  30. )
  31.  
  32. )


W efekcie dostaję

ArrayArrayNo channels were found
nospor
Bo masz tablice obiektow a nie tablice tablic. Nie widzisz?
Jak chcesz miec tablice, to uzyj drugiego parametru w json_decode
DannyM
Cytat(nospor @ 16.07.2021, 12:50:38 ) *
Bo masz tablice obiektow a nie tablice tablic. Nie widzisz?
Jak chcesz miec tablice, to uzyj drugiego parametru w json_decode


Ten Json podałem tylko aby pokazać zagłębienie smile.gif {zmieniłem}
Pyton_000
Zamiast bawić się w foreache to użyj https://github.com/Galbar/JsonPath-PHP

i pattern coś na zasadzie

Kod
$.failedOrders..errorMessage[*]
nospor
Przekombinowales

  1. foreach ( $json['failedOrders'] as $order ) {
  2.  
  3. foreach ( $order['errors'] as $error ) {
  4. echo $error['message'];
  5. }
  6. }

I juz
DannyM
Cytat(nospor @ 16.07.2021, 17:18:55 ) *
Przekombinowales

  1. foreach ( $json['failedOrders'] as $order ) {
  2.  
  3. foreach ( $order['errors'] as $error ) {
  4. echo $error['message'];
  5. }
  6. }

I juz


Dziękuję jak zawsze można na Ciebie liczyć
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.