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 文本文件的读取效率
Feb 10 PHP
php Xdebug的安装与使用详解
Jun 20 PHP
基于PHP服务端图片生成缩略图的方法详解
Jun 20 PHP
php模拟服务器实现autoindex效果的方法
Mar 10 PHP
fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法
Sep 20 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
Dec 21 PHP
PHP入门教程之面向对象的特性分析(继承,多态,接口,抽象类,抽象方法等)
Sep 11 PHP
yii2高级应用之自定义组件实现全局使用图片上传功能的方法
Oct 08 PHP
PHP实现将多个文件中的内容合并为新文件的方法示例
Jun 10 PHP
Laravel框架Auth用户认证操作实例分析
Sep 29 PHP
Laravel框架处理用户的请求操作详解
Dec 20 PHP
php下的原生ajax请求用法实例分析
Feb 28 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/08/10 PHP
thinkphp中空模板与空模块的用法实例
2014/11/26 PHP
php编写简单的文章发布程序
2015/06/18 PHP
php + nginx项目中的权限详解
2017/05/23 PHP
laravel 实现用户登录注销并限制功能
2019/10/24 PHP
js验证表单大全
2006/11/25 Javascript
Web版彷 Visual Studio 2003 颜色选择器
2007/01/09 Javascript
JS注释所产生的bug 即使注释也会执行
2013/11/19 Javascript
JS和函数式语言的三特性
2014/03/05 Javascript
jquery ztree实现模糊搜索功能
2016/02/25 Javascript
JavaScript中数组去除重复的三种方法
2016/04/22 Javascript
jquery实现上传文件大小类型的验证例子(推荐)
2016/06/25 Javascript
BootStrap glyphicon图标无法显示的解决方法
2016/09/06 Javascript
浅谈键盘上回车按钮的js触发事件
2017/02/13 Javascript
zTree实现节点修改的实时刷新功能
2017/03/20 Javascript
Vue实现动态显示textarea剩余字数
2017/05/22 Javascript
vue把输入框的内容添加到页面的实例讲解
2019/11/11 Javascript
微信小程序多列表渲染数据开关互不影响的实现
2020/06/05 Javascript
vue使用axios实现excel文件下载的功能
2020/07/16 Javascript
[59:48]LGD vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[01:59]游戏“zheng”当时试玩会
2019/08/21 DOTA
Python入门篇之正则表达式
2014/10/20 Python
Python入门篇之数字
2014/10/20 Python
Python中endswith()函数的基本使用
2015/04/07 Python
在Python中操作字典之fromkeys()方法的使用
2015/05/21 Python
Python编程实现的简单Web服务器示例
2017/06/22 Python
Python的多维空数组赋值方法
2018/04/13 Python
python导入pandas具体步骤方法
2019/06/23 Python
pandas的连接函数concat()函数的具体使用方法
2019/07/09 Python
django model 条件过滤 queryset.filter(**condtions)用法详解
2020/05/20 Python
PySide2出现“ImportError: DLL load failed: 找不到指定的模块”的问题及解决方法
2020/06/10 Python
css3 2D图片转动样式可以扩充到Js当中
2014/04/29 HTML / CSS
毕业生就业意向书
2014/04/01 职场文书
建筑院校毕业生求职信
2014/06/13 职场文书
机关干部个人对照检查材料思想汇报
2014/09/28 职场文书
四风对照检查剖析材料
2014/10/07 职场文书