php根据分类合并数组的方法实例详解


Posted in PHP onNovember 06, 2013

最简单的数组合并我们只要使用array_merge即可
array_merge()将两个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
数组键名为数字键名时,要合并的两个数组中有同名数字KEY的时候,使用array_merge()不会覆盖掉原来的值,而使用“+”合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(注意:不是覆盖而是保留最先出现的那个值)。例子:

$array1 = array(1=>'0');

$array2 = array(1=> "data");
     $result1 = $array2 + $array1;/*结果为$array2的值*/
    print_r($result);
    $result = $array1 + $array2 ;/*结果为$array1的值*/
    print_r($result);
    $result3 = array_merge($array2,$array1);/*结果为$array2和$array1的值,键名被重新分配*/
    print_r($result3);
    $result4 = array_merge($array1,$array2);/*结果为$array1和$array2的值,键名被重新分配*/
    print_r($result4);

输出结果为:
Array ( [1] => data )
Array ( [1] => 0 )
Array (
[0] => data
[1] => 0
)
Array
(
[0] => 0
[1] => data
)

2.当相同数组键名为字符时,“+”运算符与键名为数字时一样,但array_merge()此时会覆盖掉前面相同键名的值。
例子:

 $array1 = array('asd'=>'0');
$array2 = array('asd' => "data");
  $result1 = $array2 + $array1;/*结果为$array2的值*/
  print_r($result);
    $result = $array1 + $array2 ;/*结果为$array1的值*/
    print_r($result);
    $result3 = array_merge($array2,$array1);/*结果为$array1*/
    print_r($result3);
    $result4 = array_merge($array1,$array2);/*结果为$array2*/
    print_r($result4);

输出结果为:
Array ( [asd] => data )
Array ( [asd] => 0 )
Array ( [asd] => 0 )
Array ( [asd] => data )

讲了这么多费话,下面才是我要给各位朋友介绍的
根据分类字段进行数组重组
 

<?php 
//需要重组的数组 
$arrar=array(); 
$array[]=array('ItemID' => 110126866896,'CategoryID'=>111); 
$array[]=array('ItemID' => 120126866896,'CategoryID'=>112); 
$array[]=array('ItemID' => 130126866896,'CategoryID'=>113); 
$array[]=array('ItemID' => 140126866896,'CategoryID'=>114); 
$array[]=array('ItemID' => 150126866896,'CategoryID'=>115); 
$array[]=array('ItemID' => 160126866896,'CategoryID'=>116); 
$array[]=array('ItemID' => 170126866896,'CategoryID'=>117); 
$array[]=array('ItemID' => 118126866896,'CategoryID'=>111); 
$array[]=array('ItemID' => 121126866896,'CategoryID'=>112); 
$array[]=array('ItemID' => 132126866896,'CategoryID'=>113); 
$array[]=array('ItemID' => 143126866896,'CategoryID'=>114); 
$array[]=array('ItemID' => 154126866896,'CategoryID'=>115); 
$array[]=array('ItemID' => 165126866896,'CategoryID'=>116); 
$array[]=array('ItemID' => 176126866896,'CategoryID'=>117); 
//数组根据分类进行重组 
$newArray=array(); 
foreach($array as $val){ 
    $newArray[$val['CategoryID']][]=$val; 
} //删除原始数组释放空间 
$array=null; 
unset($array); 
print_r($newArray); 
?>
 
PHP 相关文章推荐
模拟xcopy的函数
Oct 09 PHP
树型结构列出指定目录里所有文件的PHP类
Oct 09 PHP
一篇不错的PHP基础学习笔记
Mar 18 PHP
PHP ajax 分页类代码
Nov 13 PHP
PHP中iconv函数转码时截断字符问题的解决方法
Jan 21 PHP
PHP中imagick函数的中文解释
Jan 21 PHP
PHP获取音频文件的相关信息
Jun 22 PHP
php实现生成带二维码图片并强制下载功能
Feb 24 PHP
PHP实现的超长文本分页显示功能示例
Jun 04 PHP
PHP后期静态绑定实例浅析
Dec 21 PHP
laravel实现按时间日期进行分组统计方法示例
Mar 23 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
Oct 10 PHP
php foreach循环中使用引用的问题
Nov 06 #PHP
php用正则表达式匹配中文实例详解
Nov 06 #PHP
php引用传值实例详解学习
Nov 06 #PHP
php二维数组排序详解
Nov 06 #PHP
PHP Curl多线程原理实例详解
Nov 06 #PHP
php二维数组用键名分组相加实例函数
Nov 06 #PHP
php不用正则验证真假身份证
Nov 06 #PHP
You might like
我的论坛源代码(四)
2006/10/09 PHP
利用php获取服务器时间的实现代码
2013/06/07 PHP
PHP获取当前url的具体方法全面解析
2013/11/26 PHP
PHP使用ffmpeg给视频增加字幕显示的方法
2015/03/12 PHP
thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决
2016/04/27 PHP
jQuery 使用手册(二)
2009/09/23 Javascript
jQuery最佳实践完整篇
2011/08/20 Javascript
获取内联和链接中的样式(js代码)
2013/04/11 Javascript
jqueyr判断checkbox组的选中(示例代码)
2013/11/08 Javascript
FF IE浏览器修改标签透明度的方法
2014/01/27 Javascript
jQuery+formdata实现上传进度特效遇到的问题
2016/02/24 Javascript
jQuery 判断是否包含在数组中Array[]的方法
2016/08/03 Javascript
JavaScript浏览器对象模型BOM(BrowserObjectModel)实例详解
2016/11/29 Javascript
canvas实现粒子时钟效果
2017/02/06 Javascript
基于node.js依赖express解析post请求四种数据格式
2017/02/13 Javascript
JS/jquery实现一个网页内同时调用多个倒计时的方法
2017/04/27 jQuery
JS 60秒后重新发送验证码的实例讲解
2017/07/26 Javascript
nodejs判断文件、文件夹是否存在及删除的方法
2017/11/10 NodeJs
Vue 中使用 CSS Modules优雅方法
2018/04/09 Javascript
JavaScript选择排序算法原理与实现方法示例
2018/08/06 Javascript
JavaScript隐式类型转换代码实例
2020/05/29 Javascript
浅谈配置OpenCV3 + Python3的简易方法(macOS)
2018/04/02 Python
基于Python 装饰器装饰类中的方法实例
2018/04/21 Python
Django中celery执行任务结果的保存方法
2019/07/12 Python
IDLE下Python文件编辑和运行操作
2020/04/25 Python
Python Selenium自动化获取页面信息的方法
2020/08/31 Python
6PM官网:折扣鞋、服装及配饰
2018/08/03 全球购物
PHP如何去执行一个SQL语句
2016/03/05 面试题
销售员求职个人的自我评价
2014/02/19 职场文书
抗洪救灾先进集体事迹材料
2014/05/26 职场文书
项目合作协议书
2014/09/23 职场文书
结婚仪式主持词
2015/06/29 职场文书
《我是什么》教学反思
2016/02/16 职场文书
古诗之感恩老师
2019/10/24 职场文书
500字作文之周记
2019/12/13 职场文书
MySQL count(*)统计总数问题汇总
2022/09/23 MySQL