【发布时间】:2012-11-21 17:14:16
【问题描述】:
我有这个正常的数组名称 $arr..
并尝试使用 array_push() 函数在数组上推送一些东西.. 比如array_push( $arr['alerts_data'], 999 );
它产生这个输出:
Array
(
[alerts_data] => Array
(
[0] => 169
[1] => 175
[2] => 111
[3] => 48
[4] => 999
)
)
当我使用 json_encode 时,我得到了:
{"alerts_data":[169,175,111,48,111,999]}
但是,当我尝试从 $arr 中取消设置()时:
unset( $arr['alerts_data'][4] );// will remove removes the 999
然后再次使用json_encode,我得到了这个json对象
{"alerts_data":{"0":169,"1":175,"2":111,"3":48}}
这里有什么问题?你能告诉?我想通过使用unset()函数来实现上面第一个编码的json。
【问题讨论】:
-
我无法确认您上面的确切示例(删除最后一个数字元素)。但是,如果您删除了一个数组键,导致数字出现间隙,您将得到一个对象。
-
使用你的确切例子,我得到
{"alerts_data":[169,175,111,48]}
标签: php