php中数组合并操作

将多个数组合并起来

1.合并数组

array_merge()函数将数组合并到一起,返回一个联合的数组,所得到的数组以第一个输入数组参数开始,按后面数组参数出现的顺序依次迫加,其形式为:

  1. array array_merge (array array1 array2…,arrayn) 

将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面,返回作为结果的数组。

如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值,然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。

如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引,实例如下:

  1. $face = array("j","q","k","a");  
  2. $numbered = array("2","3","4","5","6","7","8","9");  
  3. $cards = array_merge($face$numbered);  
  4. shuffle($cards);  
  5. print_r($cards); 

这将返回如下所示的结果:

  1. array ( [0] => a [1] => 4 [2] => 9 [3] => 3 [4] => k [5] => 7 [6] => 5 [7] => q [8] => 6 [9] => 8 [10] => 2 [11] => j ) 

2.递归追加数组

array_merge_recursive()函数与array_merge()相同,可以将两个或多个数组合并在一起,形成一个联合的数组,两者之间的区别在于,当某个输入数组中的某个键己经存在于结果数组中时该函数会采取不同的处理方式,array_merge()会覆盖前面存在的键/值对,替换为当前输入数组中的键/值对,而array_merge_recursive()将把两个值合并在一起,形成一个新的数组,并以原有的键作为数组名。还有一个数组合并的形式,就是递归追加数组,其形式为:

  1. array array_merge_recursivearray key,array values ) 

实例如下:

  1. $class1 = array("john" => 100, "james" => 85);  
  2. $class2 = array("micky" => 78, "john" => 45);  
  3. $classscores = array_merge_recursive($class1$class2);  
  4. print_r($classscores); 

这将返回如下结果:

  1. array ( [john] => array ( [0] => 100 [1] => 45 ) [james] => 85 [micky] => 78 ) 

3.连接两个数组

array_combine()函数会得到一个新数组,它由一组提交的键和对应的值组成,其形式为:

  1. array array_merge(array array1,array array2[…,array arrayn]) 

注意,两个输入数组必须大小相同,不能为空,实例如下:

  1. $abbreviations = array("al","ak","az","ar");  
  2. $states = array("alabama","alaska","arizona","arkansas");  
  3. $statemap = array_combine($abbreviations,$states);  
  4. print_r($statemap); 

这会返回:

  1. array ( [al] => alabama [ak] => alaska [az] => arizona [ar] => arkansas ) 
波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 本站源码并不保证全部能正常使用,仅供有技术基础的人学习研究,请谨慎下载
8. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » php中数组合并操作

发表评论

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系站长
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡