【发布时间】:2016-09-15 20:27:45
【问题描述】:
我的数组:
$val=array('a','b','c');
echo json_encode($val);
输出:["a","b","c"]
使用 unset 从位置 '1' 中删除“b”:unset($val[1]);
输出:{"0":"a","2":"c"}
期望输出为:["a","c"]
有什么解决办法吗?摆脱键和花括号并按预期获得输出!
【问题讨论】:
我的数组:
$val=array('a','b','c');
echo json_encode($val);
输出:["a","b","c"]
使用 unset 从位置 '1' 中删除“b”:unset($val[1]);
输出:{"0":"a","2":"c"}
期望输出为:["a","c"]
有什么解决办法吗?摆脱键和花括号并按预期获得输出!
【问题讨论】:
使用array_splice() array_splice($val, 1, 1); 而不是unset($val[1]);
$val=array('a','b','c');
array_splice($val, 1, 1);
echo json_encode($val);
【讨论】:
您需要重置数组键。检查这个:
<?php
$val=array('a','b','c');
echo json_encode($val);
unset($val[1]);
echo json_encode($val); //outputs {"0":"a","2":"c"}
$val = array_values($val); //reset array keys
echo json_encode($val); //outputs ["a","c"]
【讨论】: