在codeigniter中通过json返回多个数组

时间:2014-08-26 05:07:05

标签: php arrays json codeigniter

我想在codeigniter中使用json返回多个数组,如下所示:

   {
         "countData"
             [
                 {"flag":1,"count":3}
                 {"flag":0,"count":0}
                 {"flag":1,"count":2}
             ]
     }

我已经尝试过:

    $faqdata=array(
                       'count' => $faqdata['countdata']['resultdata']['count'],
                   )
     $listfaqcount['count_Data'][]=$faqdata;
     $listfaqcount['flag'] =1;
     $j_r=json_encode($listfaqcount);
     echo $j_r;

对于另外两个数组,就像这样。flag在其他条件下将为零,我在这里没有提及。

我该怎么做?请帮忙。

提前致谢

2 个答案:

答案 0 :(得分:0)

你可以做这样的事情

$listfaqcount['countData'][0] = array(
    'flag' => 'flagValue',
    'count' => 'countValue'
);

在循环时,您可以使用您的密钥更改索引

$listfaqcount['countData'][1] = array(
    'flag' => 'flagValue',
    'count' => 'countValue'
);

依此类推,当您编码时,您可以这样做

echo json_encode($listfaqcount);

答案 1 :(得分:0)

您需要array_push

之类的内容
$array['countdata'] = [];

创建我们的样本数组

$somearray1 = ['flag'=>9,"count"=>5];
$somearray2 = ['flag'=>6,"count"=>6];
$somearray3 = ['flag'=>5,"count"=>7];
$somearray4 = ['flag'=>4,"count"=>8];

基本上,这里发生的是每次你循环推送数组$array['countdata']

array_push($array['countdata'], $somearray1); //loop 1 format and push
array_push($array['countdata'], $somearray2); //loop 2 format and push
array_push($array['countdata'], $somearray3); //loop 3 format and push
array_push($array['countdata'], $somearray4); //loop 4 format and push

精美或美丽地打印结果

print_r(json_encode($array,JSON_PRETTY_PRINT));

结果将是

{
    "countdata": [
        {
            "flag": 9,
            "count": 5
        },
        {
            "flag": 6,
            "count": 6
        },
        {
            "flag": 5,
            "count": 7
        },
        {
            "flag": 4,
            "count": 8
        }
    ]
}

这只是一个你可以推送自己的格式化数组的例子。