PHP解决json数组字符串多出下标的问题

遇到问题:

比如我有这么一组复选框,我想把选中的对象以数组形式记录到数据库里

PHP代码如下:

//启用短信模块
$model = input('model/a',[]);
//转为json,再存入数据库		
$data["model"]=json_encode($model,JSON_UNESCAPED_UNICODE);

 1、第一次测试时,我全部选中,写入数据库的结果是:

["会员注册","忘记密码","会员到期通知","额度不足通知"]

2、第二次测试时,我先全选,然后再把“会员注册”和“忘记密码”取消勾选,写入数据库的结果变为:

{"2":"会员到期通知","3":"额度不足通知"}

这就不对了,写入的并不是标准json格式的数组。

解决方法:

转为json前,先使用array_values函数把对象转为数组,PHP代码如下:

//启用短信模块
$model = input('model/a',[]);
//移除复选框后,获取到的是对象,需要转为数组
$model = array_values($model);
//转为json,再存入数据库		
$data["model"]=json_encode($model,JSON_UNESCAPED_UNICODE);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值