![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 140 Pomógł: 0 Dołączył: 14.01.2017 Ostrzeżenie: (0%)
|
Hej
Czy ktoś może mi pomóc dlaczego w wyniku json_encode dosateje
zamiast
dobra sorry już znalazłem odpowiedź wystarczyło dodać do zmiennej (bool) (IMG:style_emoticons/default/smile.gif) Nie mniej to nie rozwiązuje mojego problemu, ponieważ dla wartości innych niż true/false również konwertuje mi do bool a tak nie ma być (IMG:style_emoticons/default/sad.gif) |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 6 809 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%)
|
Skoro spodziewasz się, że zmienna będzie miała wartość boolean, to zrób po prostu:
Kod zmienna = zmienna == 'true';
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 140 Pomógł: 0 Dołączył: 14.01.2017 Ostrzeżenie: (0%)
|
No właśnie nie wiem tego, bo wysyłam setki zmiennych POST, jedne są bool, inne tekst a inne liczbowe. Nie wiem jak to ogarnąć.
Zrobiłem coś takiego
Czy tak może być? Niestety to nie działa (IMG:style_emoticons/default/sad.gif) |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 6 809 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%)
|
A co niby dzieje się w linii 2?
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 140 Pomógł: 0 Dołączył: 14.01.2017 Ostrzeżenie: (0%)
|
Dobra mój błą
Tak miało być
teraz jest OK (IMG:style_emoticons/default/smile.gif) Zmęczenie bierze (IMG:style_emoticons/default/tongue.gif) Trochę pomęczyłem i wyszło coś takiego
Sugestie mile widziane, jeszcze dane w postaci tablic, może dam radę (IMG:style_emoticons/default/smile.gif) Ten post edytował topcio 9.12.2022, 21:55:29 |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 1 885 Pomógł: 231 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%)
|
Odpowiadając na pierwszy post, skoro używasz json_encode, to przy
[php]$foo = ['a'=>1, 'b'=>true, 'c'=>false, 'd' => new stdClass, 'e'=>'stop']; $json = json_encode($foo); print($json); var_dump(json_decode($json, true));/php] to wynikiem są: Kod {"a":1,"b":true,"c":false,"d":{},"e":"stop"} array(5) { ["a"]=> int(1) ["b"]=> bool(true) ["c"]=> bool(false) ["d"]=> array(0) { } ["e"]=> string(4) "stop" } klucz o wartości b i c podają wartości bool, a nie string. Do sprawdzenia wartości przychodzących z _POST lub _GET lepiej użyć: filter_var($foo['b'], FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE) Szczególnie, że rozpatruje także pozytywnie wartości 'on', '1' jako true, a czasem przy wysyłaniu do skryptu wartości przez JS mogą być wysłane właśnie takie wartości dla prawdy lub fałszy np. z formularza radio lub checkbox. |
|
|
|
![]() ![]() |
|
Aktualny czas: 21.12.2025 - 17:01 |