Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Closed TopicStart new topic
> Rozróżnienie przychodzących typów zmiennych json
amatorzphp
post 7.04.2019, 08:24:34
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 6.04.2019

Ostrzeżenie: (10%)
X----


Metoda zwraca dwa rodzaje odpowiedzi:

[{"zmienna3":"wartosc3","zmienna5":"wartosc5","zmienna6":"wartosc6","zmienna7":"wartosc7"}] // powstaje przez "return print json_encode($rows);"
"Komunikat błędu" // powstaje przez "return print json_encode("Komunikat błędu");"

var_dump(json_decode($zmienna, true));
// array(1) { [0]=> array(4) { ["kolumna1"]=> string(17) "wartosc1" ["kolumna2"]=> string(10) "wartosc2" ["kolumna3"]=> string(19) "wartosc3" ["kolumna4"]=> string(19) "wartosc4" } }
// string(34) "Komunikat błędu"

Odwołuję się do nich tak:
  1. foreach ($tablica as $k=>$v){
  2. echo "pierwszy for each: ".$v."<br>";
  3. echo "petla status: ".$v['status']."<br>";


Problem polega na tym, że kiedy się odwołuję do nich: tablica asocjacyjna wymaga prze-iterowania, a komunikat błędu wyświetla wtedy błąd.
I wtedy wygląda to tak :
  1. Warning: Invalid argument supplied for foreach() in /home/serwer/ftp/test2.php on line 51
  2. Komunikat błędu : "Komunikat błędu"


Jak rozróżnić, która z odpowiedzi przyszła?
Jak rozróżnić, czy jsona zrobiono ze stringa czy z wielu wartości (w sensie, że to tablica asocjacyjna)? - samo foreach kiedy mamy pojedyńczy string zwraca błąd

Jak na moje, to potrzebna jest funkcja typu: "czy_tablica_asocjacyjna(arr2)" // tak/nie
Go to the top of the page
+Quote Post
Kshyhoo
post 7.04.2019, 08:37:42
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Widzę, że jesteś niereformowalny i zakładasz kolejne wątki mimo upomnień...


--------------------
Go to the top of the page
+Quote Post

Closed 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: 25.02.2020 - 03:33