首页 > 编程语言 > 详细

数组格式转换

时间:2019-08-19 12:22:28      阅读:133      评论:0      收藏:0      [点我收藏+]

数组格式转换

<?php
/***
 * 数组归类转换
 * 把$arr转成$b的格式
 * 规定一次循环必须借助于内置函数
 **/
$arr = [
    [‘name‘ => ‘jack‘, ‘hobby‘ => ‘西瓜‘],
    [‘name‘ => ‘jack‘, ‘hobby‘ => ‘冬瓜‘],
    [‘name‘ => ‘rose‘, ‘hobby‘ => ‘木瓜‘],
    [‘name‘ => ‘rose‘, ‘hobby‘ => ‘甜瓜‘],
    [‘name‘ => ‘jack‘, ‘hobby‘ => ‘地瓜‘],
    [‘name‘ => ‘rose‘, ‘hobby‘ => ‘香瓜‘]
];

$b = [‘name‘ => ‘jack‘, ‘hobby‘ => [‘西瓜‘, ‘冬瓜‘, ‘地瓜‘]];

$arr2 = [];
foreach ($arr as $k => $v) {
    $col = array_column($arr2, ‘name‘);//获取所有指定键名的键值
    if (!in_array($v[‘name‘], $col)) {
        $arr2[] = [‘name‘ => $v[‘name‘]];
    }
    $col = array_column($arr2, ‘name‘);//再次获取所有指定键名的键值
    $col_key = array_search($v[‘name‘], $col);//按照键值查找索引
    $arr2[$col_key][‘hobby‘][] = $v[‘hobby‘];//存入数组
}
echo ‘<pre/>‘;
var_dump($arr2);

 

数组格式转换

原文:https://www.cnblogs.com/huay/p/11375556.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!