Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: json na array i array_flip
Forum PHP.pl > Forum > PHP
deha21
Otrzymuję dane z JSON. Używam json_decode($dane, true) żeby zwróciło mi jako tablicę. Wszystko do tej pory gra, ale jak chcę użyć array_flip() na otrzymanej tablicy to pokazuje się błąd, że to nie jest tablica.
  1. expects parameter 1 to be array, null given

Potrzebuję zamienić wartości w tablicy, z $array["nazwa"]->"jurex" na $array["jurex"]->"nazwa". Jak to zrobić?
nospor
tyle postow to juz moglbys umiec zrobic
var_dump
na danych na ktorych operujesz....
deha21
var_dump pokazuje mi:
  1. "{"1607":"181","1813":"Amarok","1713":"Beetle","1608":"Bora"}"
markuz
  1. $data = json_decode('{"1607":"181","1813":"Amarok","1713":"Beetle","1608":"Bora"}', true);
  2. var_export($data);
  3. $data = array_flip($data);
  4. var_export($data);

Prawdopodobnie posiadasz złego JSON`a - niepotrzebne są te dodatkowe " " na początku i na końcu.
Możesz się ich pozbyć za pomocą rtrim, ale najlepiej wyeliminować je podczas tworzenia.
nospor
Ja nie mowilem o var_dump na tekscie, tylko glownie o var_dump na wyniku json_decode. To z tym masz problem i temu ci sie pluje flip
deha21
Inaczej teraz trzeba kombinować. Okazało się, że zmienna nie jest tablicą a stringiem. Więc teraz trzeba stringa, który wygląda jak tablica, przekształcić w tablicę. Mój kod:
  1. $rd="http://akol.pl/web_api/slownik.php?rd=o";
  2. var_dump($rd);

Jedynym rozwiązaniem jest explode i wrzucanie do tablicy? Czy da się to zrobić szybciej?
redeemer
  1. $data = file_get_contents('http://akol.pl/web_api/slownik.php?rd=o');
  2.  
  3. var_dump( json_decode($data, true) );
deha21
Boże Ty mój jaki ja jestem tępy. Widzisz i nie grzmisz. Ja cały czas miałem json_encode zamiast json_decode i się dziwiłem czemu mi nie zamienia na tablicę... Dzięki!
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.