Matrix_ Opublikowano 22 Grudnia 2016 Udostępnij Opublikowano 22 Grudnia 2016 Cześć :D Zna ktoś może sposób na przechowanie 2 wymiarowej tablicy w komórce mysql? Bo chcę przechować numer wybranej odpowiedzi i normalnie myślałem, że jak zrobię: GML $zmienna[5]=2; (jako numer odpowiedzi) później implode(",",$zmienna); i wysyłka na serwer To będzie działać i działało, ale coś się zmieniło w pewnym momencie i nie robi się [,,,,,,2] jeżeli nie odpowiadało się na inne pytania. Więc jako alternatywę zamierzam zrobić: GML $zmienna = array('id'=>'5', 'odpowiedz'=>'2'); Ale nie wiem czy można do tego zastosować podwójne explodowanie. Ktoś mógłby pomóc? [edit] albo da się jakos zamieniać puste miejsca w tablicy, aż do ostatniego wypełnionego wartościami 0 ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 23 Grudnia 2016 Administratorzy Udostępnij Opublikowano 23 Grudnia 2016 serialize/unserialize - polecam, Magda Gessler. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Matrix_ Opublikowano 23 Grudnia 2016 Autor Udostępnij Opublikowano 23 Grudnia 2016 serialize/unserialize - polecam, Magda Gessler. Super, dzięki! Zapomniałem o tym xD A mam pytanko czy implode powoduje ze jeżeli miejsca 0,1,2 są wolne a dopiero 3 jest zajęte, to podczas tej operacji na pozycji 1 pojawia się to co na 3? W sensie nie pozwala na jakiekolwiek puste miejsca? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 25 Grudnia 2016 Administratorzy Udostępnij Opublikowano 25 Grudnia 2016 W PHP nie ma tak, że jak napiszesz $a[3] = 1;, to pola 0,1,2 się stworzą. To działa bardziej jak ds_map() w GameMakerze, lub inaczej mówiąc jak hasztablica. To znaczy, indeksy które nadajesz, wskazują na prawdziwe indeksy tablicy, dzięki czemu można też mieć indeksy literowe. Zatem, jeśli nie napiszesz przynajmniej $a[0] = null, to tego elementu nie będzie. Ale... można zrobić tak: $tablicaBezOdpowiedzi = array(0,0,0,0,0); // to samo co array(0=>0, 1=>1, 2=>2 ... $tablicaOdpowiedzi = array(3 => 1); $tablicaWypelnionaBrakujacymi = array_replace($tablicaBezOdpowiedzi, $tablicaOdpowiedzi); I odzyskasz brakujące klucze :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Matrix_ Opublikowano 27 Grudnia 2016 Autor Udostępnij Opublikowano 27 Grudnia 2016 W PHP nie ma tak, że jak napiszesz $a[3] = 1;, to pola 0,1,2 się stworzą. To działa bardziej jak ds_map() w GameMakerze, lub inaczej mówiąc jak hasztablica. To znaczy, indeksy które nadajesz, wskazują na prawdziwe indeksy tablicy, dzięki czemu można też mieć indeksy literowe. Zatem, jeśli nie napiszesz przynajmniej $a[0] = null, to tego elementu nie będzie. Ale... można zrobić tak: $tablicaBezOdpowiedzi = array(0,0,0,0,0); // to samo co array(0=>0, 1=>1, 2=>2 ... $tablicaOdpowiedzi = array(3 => 1); $tablicaWypelnionaBrakujacymi = array_replace($tablicaBezOdpowiedzi, $tablicaOdpowiedzi); I odzyskasz brakujące klucze :) Dzięki wielkie, ale już cały kod przepisałem z użyciem serialize :D I chyba jest on najlepszy niż zabawa z implode :) 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ę