Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] json encode - dwie możliwośći
Forum PHP.pl > Forum > Przedszkole
SN@JPER^
Witam.

Używając json_encode, przekształca tablicę na dwa różne sposoby i nie wiem od czego jest to zależne.

Raz:

  1. Array ( [categories] => Array ( [0] => 1 ) [subcategories] => Array ( [0] => 5 ) [subsubcategories] => Array ( [0] => 5 [1] => 6 ) )
  2. {"categories":["1"],"subcategories":["5"],"subsubcategories":["5","6"]}


Kolejnym razem z kolei:

  1. Array ( [categories] => Array ( [0] => 1 ) [subcategories] => Array ( [0] => 5 ) [subsubcategories] => Array ( [1] => 6 [2] => 5 ) )
  2. {"categories":["1"],"subcategories":["5"],"subsubcategories":{"1":"6","2":"5"}}


Od czego to zależy? Chodzi o klucz subsubcategories.
Comandeer
Zauważ, że w drugim przypadku numeracja tablicy nie zaczyna się od 0, ale od 1. W JS powodowałoby to powstanie tablicy:
Kod
[ undefined, 'wartość dla indeksu 1' ]

Stąd sensowniej jest taką tablicę sprowadzić do obiektu.
SN@JPER^
Użyłem



Chyba, że jest lepsze rozwiązanie?
Comandeer
Najpierw bym sprawdził czemu wgl dostajesz taką śmieszną numerację wink.gif
SN@JPER^
czasem usuwam element według klucza, a następnie dodaje inny element, więc zapewne od tego(?)
Comandeer
Całkiem możliwe. Skoro tak, to array_values zdaje się sensownym rozwiązaniem.
Pyton_000
możesz jeszcze zanim przepuścisz przez json_encode wrzucić w sort().
Dzięki temu klucze będą przenumerowane i nie będziesz miał problemu z kluczami.
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-2024 Invision Power Services, Inc.