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仿ZOL分页类代码
Oct 02 PHP
php 移除数组重复元素的一点说明
Nov 27 PHP
php设计模式 Builder(建造者模式)
Jun 26 PHP
php静态文件返回304技巧分享
Jan 06 PHP
php中二维数组排序问题方法详解
Aug 28 PHP
使用PHP如何实现高效安全的ftp服务器(一)
Dec 20 PHP
Zend Framework教程之Zend_Config_Ini用法分析
Mar 23 PHP
php字符串的替换,分割和连接方法
May 23 PHP
PHP类和对象相关系统函数与运算符小结
Sep 28 PHP
mac系统下安装多个php并自由切换的方法详解
Apr 21 PHP
php使用curl模拟浏览器表单上传文件或者图片的方法
Nov 10 PHP
YII2框架中使用RBAC对模块,控制器,方法的权限控制及规则的使用示例
Mar 18 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并发对MYSQL造成压力的解决方法
2013/02/21 PHP
基于PHP输出缓存(output_buffering)的深入理解
2013/06/13 PHP
PHP超全局数组(Superglobals)介绍
2015/07/01 PHP
CI框架常用方法小结
2016/05/17 PHP
php getcwd与dirname(__FILE__)区别详解
2016/09/24 PHP
把JS与CSS写在同一个文件里的书写方法
2007/06/02 Javascript
window.event快达到全浏览器支持了,以后使用就方便了
2011/11/30 Javascript
javascript 进阶篇2 CSS XML学习
2012/03/14 Javascript
javascript获取作用在元素上面的样式属性代码
2012/09/20 Javascript
js登录弹出层特效
2014/03/07 Javascript
javascript使用数组的push方法完成快速排序
2014/09/15 Javascript
jQuery实现的感应鼠标悬停图片色彩渐显效果
2015/03/03 Javascript
jQuery判断元素上是否绑定了指定事件的方法
2015/03/17 Javascript
ReactNative页面跳转实例代码
2016/09/27 Javascript
移动端滑动插件Swipe教程
2016/10/16 Javascript
bootstrap的3级菜单样式,支持母版页保留打开状态实现方法
2016/11/10 Javascript
老生常谈js中0到底是 true 还是 false
2017/03/08 Javascript
jQuery插件HighCharts绘制2D带Label的折线图效果示例【附demo源码下载】
2017/03/08 Javascript
Angular项目中$scope.$apply()方法的使用详解
2017/07/26 Javascript
使用原生JS实现滚轮翻页效果的示例代码
2020/05/31 Javascript
Django发送html邮件的方法
2015/05/26 Python
python3.4用循环往mysql5.7中写数据并输出的实现方法
2017/06/20 Python
python urllib urlopen()对象方法/代理的补充说明
2017/06/29 Python
Python爬取十篇新闻统计TF-IDF
2018/01/03 Python
Python装饰器结合递归原理解析
2020/07/02 Python
浅谈Python爬虫原理与数据抓取
2020/07/21 Python
Python lambda表达式原理及用法解析
2020/08/18 Python
浅析HTML5的WebSocket与服务器推送事件
2016/02/19 HTML / CSS
乡镇党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
2014年政协工作总结
2014/12/09 职场文书
计生个人工作总结
2015/02/28 职场文书
公司员工管理制度
2015/08/04 职场文书
送给小学生的暑假礼物!小学生必背99首古诗
2019/07/02 职场文书
Python实现byte转integer
2021/06/03 Python
高性能跳频抗干扰宽带自组网电台
2022/02/18 无线电
Golang实现可重入锁的示例代码
2022/05/25 Golang