php 数组使用unset 以后数组变对象
anlondon Lv6
1
2
3
4
5
6
/* 隐藏系统奖品优惠券,并重构数据 */
foreach ($detail['coupons'] as $k=>$v){
if($v['type'] == 'sys'){
unset($detail['coupons'][$k]);
}
}

unset后,发现数组变为对象,导致前端数据读取不到
image

image

使用 array_value()即可

1
2
3
4
5
6
7
8
//unset()会将数组变为对象,因此需要重构数组
$detail['coupons'] = array_values($detail['coupons']);

/*输出的数据
coupons:[
0:{ id: 9, name: "其他优惠券", type: "cash", … }
]
*/

参考资料:

 Comments