PHP 取消设置 returns 我的 json 带有 int 索引的数组
PHP unset returns my json array with int indexes
我的 json 索引删除器有问题,到目前为止我试过了
$cars = json_decode($json_user , true);
foreach ($cars as $key => $value) {
if (in_array('BH', $value)) {
unset($cars[$key]);
}
}
echo $cars = json_encode($cars);
含JSON内容
[{"code":"AB"},{"code":"BC"},{"code":"CD"}]
当使用上面的脚本删除包含 BC 的索引时 returns 我这个
{"0":{"code":"AB"},"2":{"code":"CD"}}
而不是这个
[{"code":"AB"},{"code":"CD"}]
JSON 格式基于 JavaScript 语法,JavaScript 数组不能有稀疏键。尝试删除当前键并重新索引数组:
echo $cars = json_encode(array_values($cars));
它按预期工作。 PHP 数组是关联映射。删除一个键不会影响数组的其他键。
在将 $cars
编码为 JSON 之前使用 array_values()
重建索引。
我的 json 索引删除器有问题,到目前为止我试过了
$cars = json_decode($json_user , true);
foreach ($cars as $key => $value) {
if (in_array('BH', $value)) {
unset($cars[$key]);
}
}
echo $cars = json_encode($cars);
含JSON内容
[{"code":"AB"},{"code":"BC"},{"code":"CD"}]
当使用上面的脚本删除包含 BC 的索引时 returns 我这个
{"0":{"code":"AB"},"2":{"code":"CD"}}
而不是这个
[{"code":"AB"},{"code":"CD"}]
JSON 格式基于 JavaScript 语法,JavaScript 数组不能有稀疏键。尝试删除当前键并重新索引数组:
echo $cars = json_encode(array_values($cars));
它按预期工作。 PHP 数组是关联映射。删除一个键不会影响数组的其他键。
在将 $cars
编码为 JSON 之前使用 array_values()
重建索引。