php json_encode 生成的json串中 带有数字下标
大家讲道理
大家讲道理 2016-11-11 11:33:58
0
3
1384

$arr = array(
   '1' => array('name'=>'test1'),
   '2' => array('name'=>'test1'),
   '3' => array('name'=>'test1'),
   '4' => array('name'=>'test1'),
   '5' => array('name'=>'test1'),
);

echo json_encode($arr);

结果:
{
1: {
name: "test1"
},
2: {
name: "test1"
},
3: {
name: "test1"
},
4: {
name: "test1"
},
5: {
name: "test1"
}
}

如何把这个 1,2,3,4,5去掉  因为ios那边一直说解析不了


大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(3)
代言

$arr = array(
'1' => array('name'=>'test1'),
'2' => array('name'=>'test1'),
'3' => array('name'=>'test1'),
'4' => array('name'=>'test1'),
'5' => array('name'=>'test1'),
);

$arr = array_values($arr);
echo json_encode($arr);

不知道这样符合你的要求不? 虽然觉得很奇怪,你为什么要去掉这些1,2,3,4的key.


代言

这里的'1', '2', ... 是你外围数组的key, 怎么能去掉呢。
另外,我将你模拟的数组json_encode后,再json_decode($strArr, ture)后, 能解析出来, 所以问题不在你这边, 在ios那边吧。

代言
 array('name'=>'test1'),
'2' => array('name'=>'test1'),
'3' => array('name'=>'test1'),
'4' => array('name'=>'test1'),
'5' => array('name'=>'test1'),
);
$result = array();
foreach($arr as &$value) {
    array_push($result, $value);
}
echo json_encode($result);

大概就是这样,请忽略语法错误,我徒手写的。


热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!