利用collect模块快速将数组转化成你想要的格式

很多网站的系统配置的数据库结构是下面这种格式的,然后取出数据的时候是这样的:[{key: "APPID", value: "APPID"}, {key: "AppSecret", value: "AppSecret"}],这样给并不能友好的给前台,我们需要将他转化成{APPID: "APPID", AppSecret: "AppSecret"}

利用collect模块快速将数组转化成你想要的格式_第1张图片

常规方法

$data = json_decode('[{"key": "APPID", "value": "APPID"}, {"key": "AppSecret", "value": "AppSecret"}]');
$newData = array();
foreach($data as $v){
  foreach($v as $key=>$value){
    $newData[$key] = $value;
  }
}
echo json_encode($newData);

collect方法


$data = json_decode('[{"key": "APPID", "value": "APPID"}, {"key": "AppSecret", "value": "AppSecret"}]');
$newData = collect($data)->map(function ($item){
    return collect($item)->pluck('value','key');
});
echo json_encode($newData);

利用collect省去了多层的循环,代码看起来更加优雅

使用collect如果不是在laravel项目请先熟知如何将collect引用进来

你可能感兴趣的:(利用collect模块快速将数组转化成你想要的格式)