PHP 开发技术分享

记录一个PHP开发中json处理的坑

2021-03-29  本文已影响0人  phpworkerman

很久没有更新了,一直在处于加班状态。在工作中处理业务代码时,碰到一个数组转JSON的处理,一个小坑但是被卡了一天。需求是这样的,mysql表中的一个字段是以 json 来存储的,这个数据是数组,业务逻辑会更新数组然后再存储,当业务中需要删除数组中的某个值时,我直接用了 unset 来进行删除,然后直接进行了转json存储,结果就是存储的数据不是数组而是对象,并且都携带了原有的数组下标。

代码示例
$arr = ['one', 'two', 'three', 'four'];
unset($arr[1]);
echo json_encode($arr);

输出{"0":"one","2":"three","3":"four"}

实际想得到的数据为["four","one","three"]
改进后

使用 unset 后进行 sort 排序,更新键名

$arr = ['one', 'two', 'three', 'four'];
unset($arr[1]);
sort($arr);
echo json_encode($arr);

输出["four","one","three"]
上一篇 下一篇

猜你喜欢

热点阅读