закодированный массив json поврежден в cookie при попытке декодирования json - PullRequest
0 голосов
/ 20 января 2019

Ниже я объясню, что именно происходит. Любые мысли по поводу исправления были бы велики, спасибо.

Смотрите ниже мой массив PHP ..

$myArray = array( 145 => true, 134 => true, 152 => true);

Мой массив затем var сбрасывается ..

array(3) { [145]=> bool(true), [134]=> bool(true), [152]=> bool(true) }

Затем я json кодирую свой массив ..

$myJson = json_encode($myArray);

Мой закодированный json var результат - ..

string(34) "{"145":true,"134":true,"152":true}"

Затем я установил свое печенье, используя строку json, как это ..

setcookie('mycookie', $myJson);

Тогда это содержимое куки после того, как оно было установлено ..

%7B%22145%22%3Atrue%2C%22134%22%3Atrue%2C%22152%22%3Atrue%7D


ОК, здесь начинается проблема

Затем я получаю содержимое cookie, используя это ..

$myCookie = $_COOKIE['mycookie'];

Это вар дамп $myCookie ..

string(40) "{\"131\":true,\"134\":true,\"152\":true}"

Как видите, это не та строка, которую я установил в куки. Теперь есть обратные слэши, такие как то, что он избежал или что-то в этом роде. Почему это происходит?

Если я попытаюсь декодировать JSON, теперь он вернет NULL.

Кто-нибудь может понять, почему это происходит? Конечно, я не должен был бы заменить эти обратные косые черты? Все, что я хочу сделать, декодировать JSON. Моя исходная закодированная строка прекрасно декодируется, просто когда она добавляется в cookie, она портит мой json.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...