php索引数组和关联数组

最近遇到个bug,记录一下


//定义一个数组
$arr = Array('a','b','c','d');

//转为json字符串
$str1 = json_encode($arr);

//去掉一项
unset($arr[1]);

//转json
$str2 = json_encode($arr);


var_dump($str1);
echo '<br/>';
var_dump($str2);
 
 
string(17) "["a","b","c","d"]" 
string(25) "{"0":"a","2":"c","3":"d"}" 
打印结果显示,一个是数组,一个是对象。

显然第一个是索引数组,第二个是关联数组。索引数组转json是数组,关联数组转json是对象。

直接使用unset()删除数组元素,会把索引数组转为关联数组

删除元素,保持索引的方法:

unset($arr[1]);
array_values($arr);
array_splice($array, 1, 1);





猜你喜欢

转载自blog.csdn.net/llllllloooooo/article/details/80051698