其它 2024-09-21

升级thinkphp8报错"Undefined array key 0"

Acyc
热爱技术分享,擅长用通俗易懂的语言解析复杂概念

将thinkphp6升级到8后,在更新文章的时候报了这个错

Undefined array key 0

最后发现是因为我使用了json字段,在tp6的时候我不知道为什么把这个设置给注释掉了也正常

// 设置json类型字段
protected $json = ['info'];
 
// 设置JSON数据返回数组
protected $jsonAssoc = true;

当时设置完的时候没有把json数据返回数组这个加上,还报了个错

json_decode(): Argument #1 ($json) must be of type string, stdClass given

返回的是对象,之前都是返回字符串自己用json_decode转成数组的。

当然可以不设置返回数组,自己手动转换一下

// 方法1: 类型强制转换
$array = (array)$std;
 
// 方法2: 使用json_encode和json_decode
$array = json_decode(json_encode($std), true);

京东云无线宝边缘计算家用路由器 AX3000哪吒 WiFi6千兆无线路由器 5G双频 Mesh 3000M无线速率

到手价¥99 99

京东云无线宝边缘计算家用路由器 AX1800鲁班64G畅享版 WiFi6 无线路由器 5G双频 Mesh 千兆路由器

到手价¥99 109

京东云无线宝AX3000哪吒边缘计算路由器 WiFi6 5G双频全屋Mesh组网3000M无线速率疾速超千兆家用路由器高通三核

到手价¥119 119

京东云无线宝ER1 太乙 有线路由 边缘计算家用路由器 千兆路由器

到手价¥229 229

京东云无线宝ER1 太乙 有线路由 千兆路由器黑色 5核高通处理器 USB3.0 全千兆网口 2GB 大内存 金属外壳

到手价¥229 229

京东云无线宝AX6600雅典娜64G 边缘计算家用路由器 WIFI6 高通5核 1G内存 LED点阵屏 三频Mesh

到手价¥344 359

京东云无线宝边缘计算家用路由器 BE6500 高通4核WiFi7 千兆无线路由器2.5G网口 两频三频自由切换 Mesh组网

到手价¥376.6 386.6

评论 (0)

用户头像

暂无评论

作者头像
Acyc
隐形洁癖 时间管理大师

热爱技术分享,擅长用通俗易懂的语言解析复杂概念

文章目录