如何在数组推送中更改索引位置

时间:2016-05-06 15:07:40

标签: php laravel laravel-5

如何在json上更改数组push中的索引位置 以下是我的输出:

{
"MINIMUM": [{
    "HCB-6": {
        "min": "3.6"
    }
}]

}

使用此代码:

$driver_id=$res->driver_id;
$get_distance=str_replace(',','.',$dist);
$distance[$req_latpl] = array();
$distance[$driver_id] = array();
array_push($distance[$req_latpl], $driver_id);
$drivers[$req_latpl]['min'] = min($distance[$req_latpl]); 

如何更改代码以实现以下输出:

{
"MINIMUM": [{
    "min": "3.6",
    "driverid": "HCB-6"
}]

}

提前感谢.. !!

1 个答案:

答案 0 :(得分:0)

首先解码json字符串。将其修改为所需的格式并将其编码回json字符串。请尝试以下代码

// sample json string
$main_data = '{
"MINIMUM": [{
    "HCB-6": {
        "min": "3.6"
    }
}]
}';
// decode json string
$main_data_decode = json_decode($main_data);
// generate required data
foreach($main_data_decode->MINIMUM[0] as $key=>$value){
    foreach($value as $k=>$v){
        $modified_data->MINIMUM[0]->min = $v; 
    }
    $modified_data->MINIMUM[0]->driverid =  $key;
}
// encode data to json string
$modified_data_encode = json_encode($modified_data);
echo $modified_data_encode;

输出:     { “最低”:[{ “分钟”: “3.6”, “driverid”: “HCB-6”}]}

考虑到密钥在json字符串中保持相同并格式化。