Ниже я объясню, что именно происходит. Любые мысли по поводу исправления были бы велики, спасибо.
Смотрите ниже мой массив 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.