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实现小型站点广告管理(修正版)
Oct 09 PHP
一个改进的UBB类
Oct 09 PHP
php 信息采集程序代码
Mar 17 PHP
PHP5 操作MySQL数据库基础代码
Sep 29 PHP
PHP下打开phpMyAdmin出现403错误的问题解决方法
May 23 PHP
PHP不用递归实现无限分级的例子分享
Apr 18 PHP
Web程序工作原理详解
Dec 25 PHP
比较完整的微信开发php代码
Aug 02 PHP
Yii2单元测试用法示例
Nov 12 PHP
yii2学习教程之5种内置行为类详解
Aug 03 PHP
PHP钩子实现方法解析
May 21 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
Apr 02 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加密函数 Javascript/Js 解密函数
2013/09/23 PHP
PHP的Yii框架中Model模型的学习教程
2016/03/29 PHP
php实现保存周期为1天的购物车类
2017/07/07 PHP
浅谈Laravel中的一个后期静态绑定
2017/08/11 PHP
js 关于=+与+=日期函数使用说明(赋值运算符)
2011/11/15 Javascript
JSON辅助格式化处理方法
2013/03/26 Javascript
jquery三个关闭弹出层的小示例
2013/11/05 Javascript
jQuery中事件对象e的事件冒泡用法示例介绍
2014/04/25 Javascript
一个不错的仿携程自定义数据下拉选择select
2014/09/01 Javascript
Jquery中CSS选择器用法分析
2015/02/10 Javascript
jQuery控制cookie过期时间的方法
2015/04/07 Javascript
js获取当前日期时间及其它日期操作汇总
2016/03/08 Javascript
基于jquery fly插件实现加入购物车抛物线动画效果
2016/04/05 Javascript
jQuery获取radio选中项的值实例
2016/06/18 Javascript
jQuery中text() val()和html()的区别实例详解
2016/06/28 Javascript
Javascript中常用的检测方法小结
2016/10/08 Javascript
微信小程序中的onLoad详解及简单实例
2017/04/05 Javascript
使用js实现将后台传入的json数据放在前台显示
2018/08/06 Javascript
Js跳出两级循环方法代码实例
2020/09/22 Javascript
Antd表格滚动 宽度自适应 不换行的实例
2020/10/27 Javascript
[01:07:21]NAVI vs VG Supermajor 败者组 BO3 第二场 6.5
2018/06/06 DOTA
Python实现字典的遍历与排序功能示例
2017/12/23 Python
python实现银联支付和支付宝支付接入
2019/05/07 Python
基于python的selenium两种文件上传操作实现详解
2019/09/19 Python
CSS3弹性盒模型开发笔记(二)
2016/04/26 HTML / CSS
遮罩层 + Iframe实现界面自动显示的示例代码
2020/04/26 HTML / CSS
国际礼品店:GiftsnIdeas
2018/05/03 全球购物
ONLY瑞典官网:世界知名服装品牌
2018/06/19 全球购物
Hoover胡佛官网:美国吸尘器和洗地机品牌
2019/01/09 全球购物
网络工程师个人的自我评价范文
2013/10/01 职场文书
大学生个人总结的自我评价
2013/10/05 职场文书
会计岗位职责模板
2014/03/12 职场文书
影视后期实训报告
2014/11/05 职场文书
保护地球的宣传语
2015/07/13 职场文书
使用react+redux实现计数器功能及遇到问题
2021/06/02 Javascript
golang生成vcf通讯录格式文件详情
2022/03/25 Golang