我正在使用 php 中的会话来存储我正在构建的网站的购物车数据。所有数据都存储为 json 字符串,并在两端使用 json_encode/json_decode 进行编码/解码。
似乎在一页上, json_decode 正在擦除我的会话数据,这看起来很奇怪。这是我将其缩小到的相关代码:
$cart_data = $_SESSION['cart'];
$cart = json_decode($cart_data, 1);
我在测试时一直在 var_dumping $_SESSION['cart'] 并且看起来 json_decode 正在影响它,即使我没有直接告诉它(没有 json_decode,转储显示为 json 字符串,它显示为数组)。当页面被刷新或导航离开时,这会导致会话被破坏。
我有一种感觉,我错过了一些相当简单但无法发现的东西