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 mkdir()定义和用法
Jan 14 PHP
php db类库进行数据库操作
Mar 19 PHP
PHP重定向的3种方式
Mar 07 PHP
php设计模式之单例模式使用示例
Jan 20 PHP
PHP随机生成唯一HASH值自定义函数
Apr 20 PHP
PHP实现的增强性mhash函数
May 27 PHP
PHP简单数据库操作类实例【支持增删改查及链式操作】
Oct 10 PHP
php面向对象之反射功能与用法分析
Mar 29 PHP
PHP实现验证码校验功能
Nov 16 PHP
PHP调用接口用post方法传送json数据的实例
May 31 PHP
php基于 swoole 实现的异步处理任务功能示例
Aug 13 PHP
PHP配置文件php.ini中打开错误报告的设置方法
Jan 09 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字符串函数系列之nl2br(),在字符串中的每个新行 (\n) 之前插入 HTML 换行符br
2011/11/10 PHP
使用PHP求两个文件的相对路径
2013/06/20 PHP
10个php函数实用却不常见
2015/10/13 PHP
基于ThinkPHP实现批量删除
2015/12/18 PHP
joomla组件开发入门教程
2016/05/04 PHP
ThinkPHP5+Layui实现图片上传加预览功能
2018/08/17 PHP
dojo 之基础篇(三)之向服务器发送数据
2007/03/24 Javascript
jQuery JSON的解析方式分享
2011/04/05 Javascript
javascript中input中readonly和disabled区别介绍
2012/10/23 Javascript
JS 实现导航栏悬停效果(续2)
2013/09/24 Javascript
一个JS函数搞定网页标题(title)闪动效果
2014/05/13 Javascript
JS实现点击颜色块切换指定区域背景颜色的方法
2015/02/25 Javascript
使用impress.js制作幻灯片
2015/09/09 Javascript
学习JavaScript设计模式之中介者模式
2016/01/14 Javascript
JS组件Bootstrap导航条使用方法详解
2016/04/29 Javascript
JS封装通过className获取元素的函数示例
2016/12/20 Javascript
JS中常用的消息框总结
2018/02/24 Javascript
用python写一个windows下的定时关机脚本(推荐)
2017/03/21 Python
Python数据结构之哈夫曼树定义与使用方法示例
2018/04/22 Python
使用Python的toolz库开始函数式编程的方法
2018/11/15 Python
python圣诞树编写实例详解
2020/02/13 Python
关于老式浏览器兼容HTML5和CSS3的问题
2016/06/01 HTML / CSS
联想智利官方网站:Lenovo Chile
2020/06/03 全球购物
广告设计专业自荐信范文
2013/11/14 职场文书
《我的第一本书》教学反思
2014/02/15 职场文书
销售职业生涯规划范文
2014/03/14 职场文书
公司任命书范本
2014/06/04 职场文书
本科生自荐信
2014/06/18 职场文书
2014年最新学校运动会广播稿
2014/09/17 职场文书
幼儿园大班教师个人总结
2015/02/05 职场文书
博士给导师的自荐信
2015/03/06 职场文书
黄埔军校观后感
2015/06/10 职场文书
2015年高校保卫处工作总结
2015/07/23 职场文书
六年级作文之家庭作文
2019/12/12 职场文书
JS ES6异步解决方案
2021/04/29 Javascript
不同品牌、不同型号对讲机如何互相通联
2022/02/18 无线电