![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 19.12.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mam taki problem z którym nie potrafię sobie poradzić. Mam dostarczane w kolekcji informacje na temat sklepów (adres, data otwarcia itp) Potrzebuje zapisać to do tablicy a następnie za pomocą jsonEncode wygenerować takiego JSON'a
Tutaj moja metoda tworzenia tablicy:
Całość działa z wyjątkiem jednej rzeczy, a mianowicie w przypadku kilku sklepów w tym samym mieście, zamiast dodać nowe dane do pola 'data' dodaje całkiem nowy klucz z nowym miastem:
Próbowałem już kombinować z array_merge i array_push ale bezskutecznie. Bardzo proszę o pomoc (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 550 Pomógł: 75 Dołączył: 5.06.2012 Skąd: Lębork Ostrzeżenie: (0%) ![]() ![]() |
Jest tak bo w tablicy stores masz też dane zapisane rekord po rekordzie a nie zgrupowane według miasta. W kodzie nie sprawdzasz czy dane miasto już było i wtedy dopisujesz dane tylko sztywno dodajesz rekord po rekordzie do tablicy.(Wiem... rekord to chyba nie za dobre określenie ale nic mi nie przychodzi do głowy (IMG:style_emoticons/default/haha.gif) )
Kod pisany z palca tak łopatologicznie. Sprawdź czy wszystko ok jest.
PS: Zdecyduj się czy korzystasz z array() czy z [] (IMG:style_emoticons/default/wink.gif) EDIT: Można też, żeby ominąć tą dodatkową funkcję i używania pętli(czas czas czas...) stworzyć sobie pomocniczą tablicę zawierającą miasta, które się już pojawiły i wtedy można bez problemu skorzystać z funkcji in_array Ten post edytował Wazniak96 20.02.2016, 13:37:57 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 19.12.2014 Ostrzeżenie: (0%) ![]() ![]() |
Super, dzięki za odpowiedź. Twoje rozwiązanie jest dobre i jestem w ten sposób bliżej niż dalej końca, ale wciąż nie działa to do końca dobrze (IMG:style_emoticons/default/smile.gif) Problemy występują z nawiasami i klamrami po stronie JSONA (w sensie są tam gdzie ich nie powinno być). Całość ma współgrać z mapką Google i dostałem takie wytyczne odnośnie zwracanego JSONa. Dlatego raz było array a innym razem [], bo wystarczy gdzieś o jeden nawias za dużo albo za mało i całość się sypie (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 744 Pomógł: 118 Dołączył: 14.02.2009 Skąd: poziome Ostrzeżenie: (0%) ![]() ![]() |
array() i [] jest tym samym (IMG:style_emoticons/default/smile.gif) http://php.net/manual/en/language.types.array.php chyba od 5.4
[] to nie to samo co {} - klamry z "wąsem" oznaczają obiekt! Obiekt tworzysz przez new stdClass(); |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.09.2025 - 00:34 |