PHP array_combine

时间:2017-12-13 16:01:35

标签: php json

这是我的PHP json输出

[ {      
        "campaign_id": "4",   
        "date": "2017-04-01",   
        "name": "Dealoyal",   
        "iteration": "5149"   
    },   
....   
]

我想让它看起来像这样:

[{   
    "date": "2017-04-01",   
    "Dealoyal": "5149"   
},...]  

我的代码:

foreach ($result as $row) {
    $name[] = $row['name'];
    $iteration[] = $row['iteration'];
}
$mine[]=array_combine($name, $iteration);
echo json_encode($mine,JSON_PRETTY_PRINT);

但是,当我需要在日期范围内选择的所有日期时,这仅打印最后一天的名称和迭代。我是否需要使用for循环或者还有其他方法?

1 个答案:

答案 0 :(得分:1)

您无需使用array_combine(),您可以在$mine中直接创建foreach

$mine = array();
foreach ($result as $row) {
    $mine[] = array(
        'date' => $row['date'],
        $row['name'] => $row['iteration'],
    );
}
echo json_encode($mine, JSON_PRETTY_PRINT);