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 相关文章推荐
回答PHPCHINA上的几个问题:URL映射
Feb 14 PHP
NOD32 v2.70.32 简体中文封装版 提供下载了
Feb 27 PHP
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
May 10 PHP
使用Discuz关键词服务器实现PHP中文分词
Mar 11 PHP
php 批量添加多行文本框textarea一行一个
Jun 03 PHP
php使用explode()函数将字符串拆分成数组的方法
Feb 17 PHP
codeigniter中view通过循环显示数组数据的方法
Mar 20 PHP
php实现模拟登陆方正教务系统抓取课表
May 19 PHP
mysql_escape_string()函数用法分析
Apr 25 PHP
php格式文件打开的四种方法
Feb 24 PHP
php多进程应用场景实例详解
Jul 22 PHP
PHP商品秒杀问题解决方案实例详解【mysql与redis】
Jul 22 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/06/08 PHP
thinkphp文件引用与分支结构用法实例
2014/11/26 PHP
php使用正则表达式进行字符串搜索的方法
2015/03/23 PHP
Thinkphp5.0框架的Db操作实例分析【连接、增删改查、链式操作等】
2019/10/11 PHP
JavaScript中的闭包原理分析
2010/03/08 Javascript
判断目标是否是window,document,和拥有tagName的Element的代码
2010/05/31 Javascript
单击按钮显示隐藏子菜单经典案例
2013/01/04 Javascript
使用百度地图api实现根据地址查询经纬度
2014/12/11 Javascript
ECMAScript5(ES5)中bind方法使用小结
2015/05/07 Javascript
Easyui Tree获取当前选择节点的所有顶级父节点
2017/02/14 Javascript
五步轻松实现JavaScript HTML时钟效果
2020/03/25 Javascript
vue计算属性时v-for处理数组时遇到的一个bug问题
2018/01/21 Javascript
vue toggle做一个点击切换class(实例讲解)
2018/03/13 Javascript
Vue 页面权限控制和登陆验证功能的实例代码
2019/06/20 Javascript
vue实现购物车选择功能
2020/01/10 Javascript
[36:33]完美世界DOTA2联赛循环赛 Matador vs Forest 第一场 11.06
2020/11/06 DOTA
Python决策树分类算法学习
2017/12/22 Python
python django框架中使用FastDFS分布式文件系统的安装方法
2019/06/10 Python
windows安装TensorFlow和Keras遇到的问题及其解决方法
2019/07/10 Python
python 矢量数据转栅格数据代码实例
2019/09/30 Python
OpenCV+Python--RGB转HSI的实现
2019/11/27 Python
如何用OpenCV -python3实现视频物体追踪
2019/12/04 Python
浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
2020/06/29 Python
纯CSS3实现的8种Loading动画效果
2014/07/05 HTML / CSS
让IE9以下版本的浏览器兼容HTML5的方法
2014/03/12 HTML / CSS
西班牙太阳镜品牌:Hawkers
2018/03/11 全球购物
阿联酋手表和配饰购物网站:Rivolishop
2019/11/25 全球购物
第二课堂活动总结
2014/05/07 职场文书
活动宣传策划方案
2014/05/23 职场文书
家长会欢迎标语
2014/06/24 职场文书
2015年感恩母亲节活动方案
2015/05/04 职场文书
拉贝日记观后感
2015/06/05 职场文书
预备党员的思想汇报,你真的会写吗?
2019/06/28 职场文书
通过Python把学姐照片做成拼图游戏
2022/02/15 Python
Python进程间的通信之语法学习
2022/04/11 Python
使用 MybatisPlus 连接 SqlServer 数据库解决 OFFSET 分页问题
2022/04/22 SQL Server