LolikZabójca Opublikowano 8 Października 2019 Udostępnij Opublikowano 8 Października 2019 Hejka, jest jakiś patent na sytuację, w której wczytuję json do array za pomocą json_encode, który ma kilka typów zmiennych? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Chell Opublikowano 8 Października 2019 Filar Społeczności Udostępnij Opublikowano 8 Października 2019 rozszerz o co Ci chodzi? i chyba mylisz encode z decode, wiec w ogole ciezko stwierdzic w czym rzecz Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 8 Października 2019 Administratorzy Udostępnij Opublikowano 8 Października 2019 Zarówno json_encode jak i json_decode świetnie radzą sobie ze zmiennymi typu null, bool, string, integer, float, array. Pozostałych JSON nie obsługuje. Przy czym warto pamiętać, że jak chcesz tablicę w PHP dostać, to robi to json_decode($data, true), inaczej masz obiekty. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
LolikZabójca Opublikowano 8 Października 2019 Autor Udostępnij Opublikowano 8 Października 2019 1 godzinę temu, Chell napisał: rozszerz o co Ci chodzi? i chyba mylisz encode z decode, wiec w ogole ciezko stwierdzic w czym rzecz Decode. Racja 23 minuty temu, gnysek napisał: Zarówno json_encode jak i json_decode świetnie radzą sobie ze zmiennymi typu null, bool, string, integer, float, array. Pozostałych JSON nie obsługuje. Przy czym warto pamiętać, że jak chcesz tablicę w PHP dostać, to robi to json_decode($data, true), inaczej masz obiekty. Tzn jak to będzie wyglądało? Czy php może mieć wgl tablice z mieszanymi typami? Powstanie takowa, czy jak zostanie to rozwiązane? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Chell Opublikowano 8 Października 2019 Filar Społeczności Udostępnij Opublikowano 8 Października 2019 może, nie ma żadnego problemu żeby istniało coś takiego: [ 'name' => 'buty', 'price' => 19.99, 'comfortable' => true, 'sizes' => [38, 39, 40, 41] ] trik polega na tym, że json_decode tak jak napisał gnysek przyjmuje dwa argumenty, i drugim jest czy dekodować do tablicy asocjacyjnej, czy tworzyć stdClass (domyslnie false do stdclass) - tablica asocjacyjna to wiadomo ['klucz' => wartosc] i odczytuje sie z niej $zmienna['klucz'], a stdClass to taka paskuda pseudoobiektowa, z której zczytujesz $zmienna->klucz - nie uzywaj tego Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
LolikZabójca Opublikowano 8 Października 2019 Autor Udostępnij Opublikowano 8 Października 2019 Godzinę temu, Chell napisał: może, nie ma żadnego problemu żeby istniało coś takiego: [ 'name' => 'buty', 'price' => 19.99, 'comfortable' => true, 'sizes' => [38, 39, 40, 41] ] trik polega na tym, że json_decode tak jak napisał gnysek przyjmuje dwa argumenty, i drugim jest czy dekodować do tablicy asocjacyjnej, czy tworzyć stdClass (domyslnie false do stdclass) - tablica asocjacyjna to wiadomo ['klucz' => wartosc] i odczytuje sie z niej $zmienna['klucz'], a stdClass to taka paskuda pseudoobiektowa, z której zczytujesz $zmienna->klucz - nie uzywaj tego ale czy tablica asocjacyjna w php może mieć mieszane typy zmiennych? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Chell Opublikowano 8 Października 2019 Filar Społeczności Udostępnij Opublikowano 8 Października 2019 'buty', 19.99, true i tablica, jak w przykładzie, to różne typy zmiennych Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
LolikZabójca Opublikowano 8 Października 2019 Autor Udostępnij Opublikowano 8 Października 2019 Godzinę temu, Chell napisał: może, nie ma żadnego problemu żeby istniało coś takiego: [ 'name' => 'buty', 'price' => 19.99, 'comfortable' => true, 'sizes' => [38, 39, 40, 41] ] trik polega na tym, że json_decode tak jak napisał gnysek przyjmuje dwa argumenty, i drugim jest czy dekodować do tablicy asocjacyjnej, czy tworzyć stdClass (domyslnie false do stdclass) - tablica asocjacyjna to wiadomo ['klucz' => wartosc] i odczytuje sie z niej $zmienna['klucz'], a stdClass to taka paskuda pseudoobiektowa, z której zczytujesz $zmienna->klucz - nie uzywaj tego Nie będę kłamał. Nie rozumiem co oznacza ten zapis strzałkowy xd Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Chell Opublikowano 8 Października 2019 Filar Społeczności Udostępnij Opublikowano 8 Października 2019 no to tak właśnie wygląda tablica asocjacyjna. w zwykłej masz po prostu ['cos', 'costam', 'tez cos'], 3 wartosci ktorych klucze to kolejno 0, 1 i 2. zeby zczytac 'costam' musisz sie powolac na $tablica[1]. tablica asocjacyjna to taka, w ktorej sam sobie definiujesz klucze zapisem [klucz => wartosc], np. ['klucz' => 'cos', 'innyklucz' => 'costam', 'jeszcze zupelnie inny klucz' => 'tez cos'] - zeby stad zczytac 'costam' musisz sie powolac na $tablica['innyklucz'] Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
LolikZabójca Opublikowano 8 Października 2019 Autor Udostępnij Opublikowano 8 Października 2019 7 minut temu, Chell napisał: no to tak właśnie wygląda tablica asocjacyjna. w zwykłej masz po prostu ['cos', 'costam', 'tez cos'], 3 wartosci ktorych klucze to kolejno 0, 1 i 2. zeby zczytac 'costam' musisz sie powolac na $tablica[1]. tablica asocjacyjna to taka, w ktorej sam sobie definiujesz klucze zapisem [klucz => wartosc], np. ['klucz' => 'cos', 'innyklucz' => 'costam', 'jeszcze zupelnie inny klucz' => 'tez cos'] - zeby stad zczytac 'costam' musisz sie powolac na $tablica['innyklucz'] Tablicę asocjacyjną znam na zasadzie: array['hp'] = 20; array['dmg'] = 30; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Chell Opublikowano 9 Października 2019 Filar Społeczności Udostępnij Opublikowano 9 Października 2019 no i to jest to samo, zapis strzaleczkowy to definiowanie tablicy od razu z danymi, a nie pustej Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 9 Października 2019 Administratorzy Udostępnij Opublikowano 9 Października 2019 Może mieć różne typy w tablicy, możesz nawet wstawić obiekt klasy (oczywiscie nie dla JSONa, mówię ogólnie), czy zasób (mysql, wskaźnik na plik, itp.). array['hp'] = 20; array['dmg'] = 30; to to samo co: $array = ['hp' => 20, 'dmg' => 30]; z tym, że pierwszy zapis nadpisze/doda dany klucz, a drugi nadpisuje/tworzy całą tablicę. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
LolikZabójca Opublikowano 9 Października 2019 Autor Udostępnij Opublikowano 9 Października 2019 Jeszcze jedno. Mam w JSON np. taką wartość: Cytuj "ACC_Characters": [ "1063025" "1063026" ] Czy json_encode dobrze mi to odczyta jako tablicę zagnieżdżoną jakby w elemencie tablicy podstaowej? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 9 Października 2019 Udostępnij Opublikowano 9 Października 2019 Nie, brakuje przecinka. Musisz utrzymać poprawną semantykę JSONa bo Ci się wykrzaczy, rzuci wyjątkiem i tyle. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
LolikZabójca Opublikowano 9 Października 2019 Autor Udostępnij Opublikowano 9 Października 2019 4 minuty temu, Konrad-GM napisał: Nie, brakuje przecinka. Musisz utrzymać poprawną semantykę JSONa bo Ci się wykrzaczy, rzuci wyjątkiem i tyle. tzn jeśli będą rozdzielone przecinkiem. To akurat moja literówka. Chodziło mi bardziej o przykład Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 9 Października 2019 Udostępnij Opublikowano 9 Października 2019 (edytowane) json_encode/decode nie powinien mieć w takim razie problemu, jako przykład może to wyglądać równie dobrze tak: [ "foo", 123456, { "bar": 123, "baz": [1, 2, true, true, false] }, [1, 2, { "value": 3 }, null] ] Edytowane 9 Października 2019 przez Konrad-GM Zapomniałem o cudzysłowach w JSONie kek Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
LolikZabójca Opublikowano 9 Października 2019 Autor Udostępnij Opublikowano 9 Października 2019 36 minut temu, Konrad-GM napisał: json_encode/decode nie powinien mieć w takim razie problemu, jako przykład może to wyglądać równie dobrze tak: [ "foo", 123456, { bar: 123, baz: [1, 2, true, true, false] }, [1, 2, { value: 3 }, null] ] Zupełnie nie rozumiem tego zapisu Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 9 Października 2019 Udostępnij Opublikowano 9 Października 2019 6 minut temu, LolikZabójca napisał: Zupełnie nie rozumiem tego zapisu To jest zapis w JSONie, w PHP wygląda on tak (jako tablice asocjacyjne): <?php $array = [ "foo", 123456, ["bar" => 123, "baz" => [1, 2, true, true, false]], [1, 2, ["value" => 3], null] ]; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 10 Października 2019 Administratorzy Udostępnij Opublikowano 10 Października 2019 Może po prostu weź napisz zgodnego składniowo JSONa i sprawdź, a nie nas pytasz ? W 10 sekund byś miał odpowiedź Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się