删除数组值而不丢失引号

Removing array values without losing quotes

我的数组:

$val=array('a','b','c');
echo json_encode($val);

输出:["a","b","c"]

使用 unset 从位置 '1' 移除 'b' : unset($val[1]);

输出:{"0":"a","2":"c"}

期望输出为:["a","c"]

有什么解决办法吗?摆脱键和大括号并按预期获得输出!

您需要重置数组键。检查这个:

<?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"]

使用array_splice()array_splice($val, 1, 1);代替unset($val[1]);

$val=array('a','b','c');
array_splice($val, 1, 1);
echo json_encode($val);

Test Here.