thinkphp 循环合并怎么实现 10

1,2,3是数据标题,标题只显示一个,把标题下面的数据全部显示出(合并一起)!把标题为1的放到一起,标题为2的放到一起,标题为3的数据放到一起,有大神帮忙吗?... 1,2,3是数据标题,标题只显示一个,把标题下面的数据全部显示出(合并一起)!把标题为1的放到一起,标题为2的放到一起,标题为3的数据放到一起,
有大神帮忙吗?
展开
 我来答
张恺阳
2017-05-19 · 知道合伙人软件行家
张恺阳
知道合伙人软件行家
采纳数:166 获赞数:532
开发过各种类型网站及APP等,如有相关问题可以随时向我提问。

向TA提问 私信TA
展开全部

问题分析:

根据问题描述可以得知,需要的是一个数据合并的功能。可以根据它们的共同特性,将他们循环转变成一个新的数组。

举例如下:

根据图中的名称,在以下案例中假设数字对应键名为id,文字对应的键名为name。你可以根据实际情况做修改。

$arr = [
    [
        'id' => 1,
        'name' => '版权声明'
    ],
    [
        'id' => 1,
        'name' => '免责声明'
    ],
    [
        'id' => 2,
        'name' => '企业服务'
    ],
    [
        'id' => 2,
        'name' => '招聘服务'
    ],
    [
        'id' => 3,
        'name' => '培训服务'
    ],
    [
        'id' => 3,
        'name' => '服务规则'
    ],
    [
        'id' => 3,
        'name' => '常见问题'
    ]
];

$newArr = [];
foreach($arr as $v){
    $newArr[$v['id']][] = $v['name'];
}

print_r($newArr);

运行结果如下:

总结:

从运行结果可以看出,foreach循环已经将他们重新合并分组了。

更多追问追答
追问
得到这个数组!怎么给 模板赋值呢!
追答
Thinkphp可以用$this->assign(); 将数组传给模板。然后模板循环输出就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式