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 相关文章推荐
smarty实例教程
Nov 19 PHP
在WAMP环境下搭建ZendDebugger php调试工具的方法
Jul 18 PHP
手把手教你打印出PDF(关于fpdf的简单应用)
Jun 25 PHP
PHP封装的HttpClient类用法实例
Jun 17 PHP
php实现Mysql简易操作类
Oct 11 PHP
php生成txt文件实例代码介绍
Apr 28 PHP
PHP计算近1年的所有月份
Mar 13 PHP
PHP 实现页面静态化的几种方法
Jul 23 PHP
PHP实现的基于单向链表解决约瑟夫环问题示例
Sep 30 PHP
PHP数字金额转换成中文大写显示
Jan 05 PHP
PHP-FPM和Nginx的通信机制详解
Feb 01 PHP
Docker 安装 PHP并与Nginx的部署实例讲解
Feb 27 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
Thinkphp的volist标签嵌套循环使用教程
2014/07/08 PHP
服务器迁移php版本不同可能诱发的问题
2015/12/22 PHP
JS操作XML中DTD介绍及使用方法分析
2019/07/04 PHP
jquery text,radio,checkbox,select操作实现代码
2009/07/09 Javascript
15款优秀的jQuery导航菜单插件分享
2011/07/19 Javascript
一个页面放2段图片滚动代码出现冲突的问题如何解决
2012/12/21 Javascript
js中的replace方法使用介绍
2013/10/28 Javascript
JS获取Table中td值的方法
2015/03/19 Javascript
Bootstrap的modal拖动效果
2016/12/25 Javascript
微信小程序 石头剪刀布实例代码
2017/01/04 Javascript
Vue input控件通过value绑定动态属性及修饰符的方法
2017/05/03 Javascript
Express使用html模板的详细代码
2017/09/18 Javascript
React-intl 实现多语言的示例代码
2017/11/03 Javascript
微信小程序实现YDUI的ScrollNav组件
2018/02/02 Javascript
JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例
2019/01/29 Javascript
vue下载excel的实现代码后台用post方法
2019/05/10 Javascript
jquery获取input输入框中的值
2019/11/13 jQuery
Vue.js实现大屏数字滚动翻转效果
2019/11/29 Javascript
[01:56]《DOTA2》中文配音CG
2013/04/22 DOTA
Python记录详细调用堆栈日志的方法
2015/05/05 Python
详解Python最长公共子串和最长公共子序列的实现
2018/07/07 Python
Scrapy框架基本命令与settings.py设置
2020/02/06 Python
python使用建议与技巧分享(二)
2020/08/17 Python
JoJo Maman Bébé爱尔兰官网:英国最受欢迎的精品母婴品牌
2020/12/20 全球购物
char型变量中能不能存贮一个中文汉字
2015/07/08 面试题
政法大学毕业生自荐信范文
2014/01/01 职场文书
2014两会学习心得:榜样精神伴我行
2014/03/17 职场文书
《桥》教学反思
2014/04/09 职场文书
2014年学习全国道德模范事迹思想汇报
2014/09/15 职场文书
公司试用期员工自我评价
2014/09/17 职场文书
2014领导班子专题民主生活会对照检查材料思想汇报
2014/09/23 职场文书
2014年班级工作总结范文
2014/12/23 职场文书
小学生毕业评语
2014/12/26 职场文书
爱心募捐通知范文
2015/04/27 职场文书
《狼牙山五壮士》读后感:宁死不屈,视死如归
2019/08/16 职场文书
python第三方网页解析器 lxml 扩展库与 xpath 的使用方法
2021/04/06 Python