我有一个数组,我想从中取消第一项,但是当我这样做时,我通过jQuery发送带有JSON的信息,结果被读作对象.
该数组如下所示:
["一二三四"]
......然后我解开了:
$myArray = ["one", "two", "three", "four"]
Run Code Online (Sandbox Code Playgroud)
... console.log中的JSON读取:
对象1:"一"2:"两个"
是什么让它如此,如何防止它?从我所看到的,在PHP中,剩下的数组就像一个数组,我可以使用数组函数,如array_search,array_intersect等.
在JSON中,数组总是从索引0开始.因此,如果在PHP中删除元素0,则数组从1开始.但是这不能用JSON中的数组表示法表示.因此它被表示为一个对象,它支持键/值对.
要使JSON将数据表示为数组,必须确保数组从索引0开始并且没有间隙.
要实现这一点,请不要使用unset,而是使用array_splice:
array_splice(myArray, 0, 1);
Run Code Online (Sandbox Code Playgroud)
这样你的数组就会移动,确保第一个元素位于索引0.
如果它始终是您要删除的第一个元素,那么您可以使用较短的array_shift:
array_shift(myArray);
Run Code Online (Sandbox Code Playgroud)
我不太确定为什么它会转换成一个object而不是一个array.这肯定是因为没有索引0(确实).
为了防止这种情况,使用array_values它重建数组的索引:
unset($myArray[0]);
$myArray = array_values($myArray);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2077 次 |
| 最近记录: |