0

0

php二维数组的合并2种方法

php中文网

php中文网

发布时间:2016-06-13 09:51:53

|

1727人浏览过

|

来源于php中文网

原创

昨天还写了一篇关于数组合并的技术文章,那里我介绍的是一维数组合并,这里介绍一下php二维数组的合并方法,希望对各位同学会有所帮助哦。

例1

自定义方法合并数组

先看一个二维数组:

 代码如下 复制代码

Array (

          [0] => Array (

                              [A] => store_name

立即学习PHP免费学习笔记(深入)”;

                              [B] => 商店一

                             )

          [1] => Array (

                              [A] => store_owner

                              [B] => 小风

                              )

          [2] => Array (

                              [A] => store_name

立即学习PHP免费学习笔记(深入)”;

                              [B] => 商店二

                              )

          [3] => Array (

                               [A] => store_owner

                               [B] => 小磊

                               )

?>

大家会发现里面有两个 store_name 和 store_owner ,所以我想让他们合并成下面这样

Array (

     [0] => Array

         (

           [A] => 商店一

           [B] => 小风

          )

      [1] => Array

         (

           [A] => 商店二

           [B] => 小磊

          )

?>

合并方法如下:

 代码如下 复制代码

$stores = array(); //定义一个空数组
        $store_count=count($showinfo);  //统计显示的次数,这里的$showinfo是我获取数据库内容时的一个变量,然后打印出来就是上面刚开始的样子
        for($i=0;$i         {
            $j=$i+1;     //将 $i 加 1 跳过 一级  相当于 $j 取得是 键值为 奇数的值
            $stores[]=array(
                          'name' =>$showinfo[$i]['value'],
                          'owner'=>$showinfo[$j]['value'],
                          );
            $i = $j;  //  这里的作用是 相当于 $i 取得是 键值为 偶数的值
        }

?>

这样就可以得到上面的结果了!

为了让大家看的更清楚写 我把数据库表结构写出来 主要字段如下:

key value

store_name 网店一

store_owner 小风

store_name 网店二

store_owner 小磊

 

通过上面 的方法做过后 前台页面就可以以一排的方式显示了,如下

name owner

网店一 小风

网店二 小磊

例3

 代码如下 复制代码

$arr = array
(
    0 => array(
    '1@01,02',
    '2@01,02',
    '4@ALL',
    '3@01',
    '5@01,02,04',
    ),

    1 => array(
    '1@01,02,03',
    '2@01,02,04',
    '3@ALL',
    '4@01,02',
    '111@01,05',
    '5@03',
    ),
    2 => array(
    '1@01,02,03',
    '2@02,03,05',
    '3@ALL',
    '4@01,02,03',
    '111@01,05',
    '5@03',
    ),
);
$result = array();
foreach($arr as $items){
    if(is_array($items)){
        foreach($items as $item){
            $item = explode('@', $item);
            if(count($item) != 2){
                continue ;
            }
            $result[$item[0]] .= $item[1].',';
        }
    }
}
function reJoin(&$item,$key,$seq){
    $list = array_unique(explode($seq,$item));
    if (in_array('ALL', $list)){
        $item = $key.'@ALL';
    }else{
        $item = $key.'@'.join($seq,$list);
    }
}
array_walk($result, 'reJoin',',');
sort($result);
var_export($result);
/**
 * array (
  * 0 => '111@01,05,',
  * 1 => '1@01,02,03,',
  * 2 => '2@01,02,04,03,05,',
  * 3 => '3@ALL',
  * 4 => '4@ALL',
  * 5 => '5@01,02,04,03,',
  * )
 */
?>

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Word 字间距调整方法汇总
Word 字间距调整方法汇总

本专题整合了Word字间距调整方法,阅读下面的文章了解更详细操作。

2

2025.12.24

任务管理器教程
任务管理器教程

本专题整合了任务管理器相关教程,阅读下面的文章了解更多详细操作。

2

2025.12.24

AppleID格式
AppleID格式

本专题整合了AppleID相关内容,阅读专题下面的文章了解更多详细教程。

0

2025.12.24

csgo视频观看入口合集
csgo视频观看入口合集

本专题整合了csgo观看入口合集,阅读下面的文章了知道更多入口地址。

29

2025.12.24

yandex外贸入口合集
yandex外贸入口合集

本专题汇总了yandex外贸入口地址,阅读下面的文章了解更多内容。

58

2025.12.24

添加脚注通用方法
添加脚注通用方法

本专题整合了添加脚注方法合集,阅读专题下面的文章了解更多内容。

1

2025.12.24

重启电脑教程汇总
重启电脑教程汇总

本专题整合了重启电脑操作教程,阅读下面的文章了解更多详细教程。

3

2025.12.24

纸张尺寸汇总
纸张尺寸汇总

本专题整合了纸张尺寸相关内容,阅读专题下面的文章了解更多内容。

5

2025.12.24

Java Spring Boot 微服务实战
Java Spring Boot 微服务实战

本专题深入讲解 Java Spring Boot 在微服务架构中的应用,内容涵盖服务注册与发现、REST API开发、配置中心、负载均衡、熔断与限流、日志与监控。通过实际项目案例(如电商订单系统),帮助开发者掌握 从单体应用迁移到高可用微服务系统的完整流程与实战能力。

1

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

相关下载

更多

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 7.8万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 6.9万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号