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 相关文章推荐
php 表单数据的获取代码
Mar 10 PHP
php 什么是PEAR?
Mar 19 PHP
PHP错误抑制符(@)导致引用传参失败Bug的分析
May 02 PHP
php 记录进行累加并显示总时长为秒的结果
Nov 04 PHP
php ckeditor上传图片文件名乱码解决方法
Nov 15 PHP
PHP判断浏览器、判断语言代码分享
Mar 05 PHP
Yii2实现增删改查后留在当前页的方法详解
Jan 13 PHP
PHP判断数组是否为空的常用方法(五种方法)
Feb 08 PHP
thinkPHP5框架分页样式类完整示例
Sep 01 PHP
php数组和链表的区别总结
Sep 20 PHP
php实现大文件断点续传下载实例代码
Oct 01 PHP
php+laravel 扫码二维码签到功能
May 15 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
PHP保留两位小数并且四舍五入及不四舍五入的方法
2013/09/22 PHP
Thinkphp关闭缓存的方法
2015/06/26 PHP
PHP获取网站中各文章的第一张图片的代码示例
2016/05/20 PHP
php 类中的常量、静态属性、非静态属性的区别
2017/04/09 PHP
php输出形式实例整理
2020/05/05 PHP
Js 本页面传值实现代码
2009/05/17 Javascript
初窥JQuery-Jquery简介 入门了解篇
2010/11/25 Javascript
Three.js源码阅读笔记(基础的核心Core对象)
2012/12/27 Javascript
Javascript弹出窗口的各种方法总结
2013/11/11 Javascript
Js与下拉列表处理问题解决
2014/02/13 Javascript
Egret引擎开发指南之视觉编程
2014/09/03 Javascript
javascript使用for循环批量注册的事件不能正确获取索引值的解决方法
2014/12/20 Javascript
js给网页加上背景音乐及选择音效的方法
2015/03/03 Javascript
异步JavaScript编程中的Promise使用方法
2015/07/28 Javascript
jquery实现鼠标点击后展开列表内容的导航栏效果
2015/09/14 Javascript
AngularJS 实现按需异步加载实例代码
2015/10/18 Javascript
JavaScript中Date对象的常用方法示例
2015/10/24 Javascript
高效的jQuery代码编写技巧总结
2017/02/22 Javascript
BootStrap 获得轮播中的索引和当前活动的焦点对象
2017/05/11 Javascript
详解vue axios二次封装
2018/07/22 Javascript
说说如何在Vue.js中实现数字输入组件的方法
2019/01/08 Javascript
详解js常用分割取字符串的方法
2019/05/15 Javascript
jQuery实现判断滚动条滚动到document底部的方法分析
2019/08/27 jQuery
python anaconda 安装 环境变量 升级 以及特殊库安装的方法
2017/06/21 Python
selenium+python自动化测试之页面元素定位
2019/01/23 Python
对python For 循环的三种遍历方式解析
2019/02/01 Python
python NumPy ndarray二维数组 按照行列求平均实例
2019/11/26 Python
python实现npy格式文件转换为txt文件操作
2020/07/01 Python
python pyg2plot的原理知识点总结
2021/02/28 Python
英国领先的狗和宠物美容专家:Christies Direct
2017/04/03 全球购物
Ray-Ban雷朋瑞典官方网站:全球领先的太阳眼镜品牌
2019/08/22 全球购物
黄金酒广告词
2014/03/21 职场文书
2015年读书月活动总结
2015/03/26 职场文书
2015年度服装销售工作总结
2015/03/31 职场文书
JavaScript 数组去重详解
2021/09/15 Javascript
html中两种获取标签内的值的方法
2022/06/10 HTML / CSS