PHP无法读取并打印Cookie中price字段值的问题咨询
问题核心
- 你Cookie内存储的
MonthlyOptions是JSON数组结构,json_decode解析后返回的是索引数组,不是单个对象,直接调用price属性不符合数据结构逻辑,因此无法正常取值。
修复代码
<?php // 先校验Cookie存在性 if (!isset($_COOKIE["MonthlyOptions"])) { die('MonthlyOptions Cookie不存在'); } $cookieContent = $_COOKIE["MonthlyOptions"]; // 解析JSON,第二个参数传true返回关联数组,操作更便捷 $optionList = json_decode($cookieContent, true); // 校验JSON解析是否正常 if (json_last_error() !== JSON_ERROR_NONE) { die('JSON解析失败:' . json_last_error_msg()); } // 按需取值 // 方案1:遍历输出所有price值 foreach ($optionList as $option) { echo $option['price'] . '<br>'; } // 方案2:取指定位置的price值,例如下标为0的第一个元素的price // echo $optionList[0]['price']; ?>
补充说明
如果需要保持对象格式解析,去掉json_decode的第二个参数即可,取值方式对应改为$option->price。
内容的提问来源于stack exchange,提问作者John K Bell
相关产品推荐
相关产品推荐

