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中在数据库中保存Checkbox数据(2)
Oct 09 PHP
php巧获服务器端信息
Dec 06 PHP
php date()日期时间函数详解
May 16 PHP
php 无限级数据JSON格式及JS解析
Jul 17 PHP
PHP使用Face++接口开发微信公众平台人脸识别系统的方法
Apr 17 PHP
php将图片文件转换成二进制输出的方法
Jun 10 PHP
详解PHP对数组的定义以及数组的创建方法
Nov 27 PHP
对比分析php中Cookie与Session的异同
Feb 19 PHP
深入解析PHP的Laravel框架中的event事件操作
Mar 21 PHP
thinkPHP多语言切换设置方法详解
Nov 11 PHP
PHP编程获取音频文件时长的方法【基于getid3类】
Apr 20 PHP
php两点地理坐标距离的计算方法
Dec 29 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
Ajax PHP分页演示
2007/01/02 PHP
PHP Zip压缩 在线对文件进行压缩的函数
2010/05/26 PHP
php 删除cookie方法详解
2014/12/01 PHP
php+xml实现在线英文词典查询的方法
2015/01/23 PHP
利用php-cli和任务计划实现订单同步功能的方法
2017/05/03 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
2019/12/20 PHP
用 Javascript 验证表单(form)中多选框(checkbox)值
2009/09/08 Javascript
js动态加载以及确定加载完成的代码
2011/07/31 Javascript
jquery中ajax学习笔记3
2011/10/16 Javascript
javascript内置对象arguments详解
2014/03/16 Javascript
用js通过url传参把数据从一个页面传到另一个页面
2014/09/01 Javascript
jQuery控制元素显示、隐藏、切换、滑动的方法总结
2015/04/16 Javascript
通过jquery-ui中的sortable来实现拖拽排序的简单实例
2016/05/24 Javascript
jQuery实现的导航下拉菜单效果
2016/07/04 Javascript
利用Js的console对象,在控制台打印调式信息测试Js的实现
2016/11/26 Javascript
ionic2自定义cordova插件开发以及使用(Android)
2017/06/19 Javascript
详细AngularJs4的图片剪裁组件的实例
2017/07/12 Javascript
javascript  删除select中的所有option的实例
2017/09/17 Javascript
浅析JavaScript中的特殊数据类型
2017/12/15 Javascript
Angular Material Icon使用详解
2018/11/07 Javascript
vue2.0+vue-router构建一个简单的列表页的示例代码
2019/02/13 Javascript
Python使用pylab库实现绘制直方图功能示例
2018/06/01 Python
浅谈Python批处理文件夹中的txt文件
2019/03/11 Python
Ubuntu18.04下python版本完美切换的解决方法
2019/06/14 Python
基于python监控程序是否关闭
2020/01/14 Python
Python同时处理多个异常的方法
2020/07/28 Python
python+selenium 简易地疫情信息自动打卡签到功能的实现代码
2020/08/22 Python
PyCharm 2020.1版安装破解注册码永久激活(激活到2089年)
2020/09/24 Python
python实现数据结构中双向循环链表操作的示例
2020/10/09 Python
网站编辑求职信
2013/10/17 职场文书
简历的自我评价范文
2014/02/04 职场文书
领导班子作风建设年个人整改措施
2014/09/29 职场文书
2015年导购员工作总结
2015/04/25 职场文书
公司董事任命书
2015/09/21 职场文书
传单、海报早OUT了,另类传单营销方案送给你!
2019/07/15 职场文书
Java实现斗地主之洗牌发牌
2021/06/14 Java/Android