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者的疑难问答(2)
Oct 09 PHP
生成卡号php代码
Apr 09 PHP
PHP中基本符号及使用方法
Mar 23 PHP
PHP学习笔记之三 数据库基本操作
Jan 17 PHP
php通过array_merge()函数合并关联和非关联数组的方法
Mar 18 PHP
微信获取用户地理位置信息的原理与步骤
Nov 12 PHP
yii添删改查实例
Nov 16 PHP
ThinkPHP实现更新数据实例详解(demo)
Jun 29 PHP
PHP实现对二维数组某个键排序的方法
Sep 14 PHP
PHP查看SSL证书信息的方法
Sep 22 PHP
PHP设计模式之工厂模式与单例模式
Sep 28 PHP
php实现留言板功能(会话控制)
May 23 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+xslt在windows平台上
2006/10/09 PHP
PHP获取文件的MD5值并判断是否被修改的例子
2014/06/19 PHP
PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件
2014/09/24 PHP
PHP实践教程之过滤、验证、转义与密码详解
2017/07/24 PHP
php获取ajax的headers方法与内容实例
2017/12/27 PHP
Laravel使用模型实现like模糊查询的例子
2019/10/24 PHP
javascript实现轮显新闻标题链接
2007/08/13 Javascript
禁止你的左键复制实用技巧
2013/01/04 Javascript
关于Javascript 对象(object)的prototype
2014/05/09 Javascript
ztree获取选中节点时不能进入可视区域出现BUG如何解决
2015/12/03 Javascript
浅谈String.valueOf()方法的使用
2016/06/06 Javascript
使用JavaScript判断手机浏览器是横屏还是竖屏问题
2016/08/02 Javascript
Ionic2系列之使用DeepLinker实现指定页面URL
2016/11/21 Javascript
基于ajax与msmq技术的消息推送功能实现代码
2016/12/26 Javascript
AngularJS表单提交实例详解
2017/02/18 Javascript
Node.js利用js-xlsx处理Excel文件的方法详解
2017/07/05 Javascript
浅谈vue异步数据影响页面渲染
2019/10/29 Javascript
[01:07:17]EG vs Optic Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
Python实现发送email的几种常用方法
2014/08/18 Python
剖析Django中模版标签的解析与参数传递
2015/07/21 Python
Python读取sqlite数据库文件的方法分析
2017/08/07 Python
python使用KNN算法手写体识别
2018/02/01 Python
关于Tensorflow使用CPU报错的解决方式
2020/02/05 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
2020/03/30 Python
使用Pytorch搭建模型的步骤
2020/11/16 Python
Css3实现无缝滚动防抖
2020/09/14 HTML / CSS
Lime Crime官网:美国一家主打梦幻精灵系的彩妆品牌
2019/03/22 全球购物
Eton丹麦官网:精美的男式衬衫
2020/05/27 全球购物
审核会计岗位职责
2013/11/08 职场文书
三年级评语大全
2014/04/23 职场文书
集中整治工作方案
2014/05/01 职场文书
党的群众路线教育实践活动整改落实情况自查报告
2014/10/28 职场文书
2015年中学团委工作总结
2015/07/22 职场文书
贴吧吧主申请感言
2015/08/03 职场文书
2016党校培训心得体会
2016/01/07 职场文书
详解在SQLPlus中实现上下键翻查历史命令的功能
2022/03/18 SQL Server