Вот мой код:
$json = '{"1":{"show":true},"2":{"show":false}}';
echo '<pre>',print_r(json_decode($json, true)),'</pre>';exit;
Ниже приводится вывод кода.
Как сохранить логические значения? Заранее спасибо.
Все сохранилось.
Ничего общего с json_decode, это делает print_r ... вместо этого попробуйте var_dump.
Вот как print_r() отображает логические значения. Вы можете использовать var_dump(), чтобы получить более точное представление.
И только потому, что я предполагаю, что это может произойти - причина, по которой у вас есть 1 в конце вывода на снимке экрана, заключается в том, что вы повторяете результат вызова print_r
Чтобы добавить к комментарию @iainn, вы должны добавить ,true к print_r для использования concat echo, чтобы он возвращал содержимое вместо результата bool.
Нужен флаг, чтобы закрыть на "Вот как это работает ... здесь ничего плохого, двигайтесь дальше" ...






Именно так часто интерпретируется истина / ложь. Просто катайтесь с этим.