首页 > 解决方案 > 在php中嵌套json的简单方法

问题描述

应该很容易,但我一直坚持这一点。使用缺少默认嵌套的 Json 输出从 Mysql 获取数据

$row->execute();
$item=array();
foreach($row as $rec)//foreach loop  
{   
    $testnab['Src']=$rec['src'];


array_push($item,$testnab);     


}

echo json_encode($item,JSON_PRETTY_PRINT);  

结果:

[ { "Src": "test1st" }, { "Src": "test3rd" } ]

我需要输出为:

[{"0": { "Src": "test1st" }},{"0": { "Src": "test3rd" }}] 

它是非连续的,“0”是常数

标签: phparraysjson

解决方案


您可以通过使用 $testnab 作为属性值创建一个对象来做到这一点:

$item=array();
foreach($row as $rec)//foreach loop  
{   
    $testnab['Src']=$rec['src'];
    $o = new StdClass;
    $o->{'0'} = $testnab;
    array_push($item,$o);     
}
echo json_encode($item);

输出:

[{"0":{"Src":"test1st"}},{"0":{"Src":"test3rd"}}]

推荐阅读