【问题标题】:merge object in php在php中合并对象
【发布时间】:2021-06-03 06:37:11
【问题描述】:

我有以下 json 数据

{
    "data": [
        {
            "minggu a": "2",
            "total a": "377033"
        },
        {
            "minggu b": "1",
            "total b": "136615"
        }
    ]

这是我在控制器中编写的代码

$satu= $this->model->db_week_resTender();
     $arr = [];
     foreach($satu as $val){
        $arr['data'][] = array(
            'minggu' => $val['minggu'],
            'total'  => $val['total']
        );
     }
     $response =  $this->set_response($arr,200);
}

如何连接下面的json数据 这里我发出的数据限制为 2。

  {
        "data": [
            {
                "minggu a": "2",
                "total a": "377033"
                "minggu b": "1",
                "total b": "136615"
            },
        ]
}

【问题讨论】:

    标签: php loops codeigniter


    【解决方案1】:
    $data = '{
           "data": [
                    {
                      "minggu a": "2",
                      "total a": "377033"
                    },{
                      "minggu b": "1",
                      "total b": "136615"
                      }
                    ]
              }';
    
    $decoded_satu=json_decode($data,true);
    $arr = [];
    foreach($decoded_satu['data'] as $key=> $val){
            foreach ($val as $subkey => $subvalue) {
                    $arr['data'][$subkey] = $subvalue;
            }
    }
    
    $finalArray = json_encode($arr);
    echo "<pre>";print_r($finalArray) ;die;
    

    【讨论】:

    • 要获得更好的答案,您需要添加对您提供的答案的描述。
    【解决方案2】:
    foreach($statu as $index => $val){
        $arr['data'][$index] = $val;
    }
    

    这应该会给出您最后发布的结果。

    【讨论】:

    • 不应该。 $satu(不是$statu)包含data,会被复制
    • 不行,结果和上面一样
    猜你喜欢
    • 1970-01-01
    • 2016-09-10
    • 2018-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-06
    • 2018-01-16
    • 2015-01-26
    相关资源
    最近更新 更多