码迷,mamicode.com
首页 > 编程语言 > 详细

PHP合并数组的三种方法的分析与比较

时间:2018-05-04 23:21:36      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:不同   字符   结果   参数   一个   运行   int   code   php   

常用的合并数组的方法有三种:array_merge()、array_merge_recursive()、+,下面一个一个介绍

array_merge()

此函数合并一个或多个数组,当输入的数组中有相同的字符串键名,则后一个会覆盖前一个。对于参数数组中数字索引的值会重新排序,不管数字索引相同还是不同。

代码如下:

$arr1 = array(‘name‘ => ‘tom‘, 123, 456);
$arr2 = array(‘age‘ => 13, ‘name‘ => ‘peter‘, ‘hello‘, ‘world‘);
$arr = array_merge($arr1, $arr2);
var_dump($arr1);
var_dump($arr2);
var_dump($arr);

运行结果:


array (size=3)
  ‘name‘ => string ‘tom‘ (length=3)
  0 => int 123
  1 => int 456

array (size=4)
  ‘age‘ => int 13
  ‘name‘ => string ‘peter‘ (length=5)
  0 => string ‘hello‘ (length=5)
  1 => string ‘world‘ (length=5)

array (size=6)
  ‘name‘ => string ‘peter‘ (length=5)
  0 => int 123
  1 => int 456
  ‘age‘ => int 13
  2 => string ‘hello‘ (length=5)
  3 => string ‘world‘ (length=5)

array_merge_recursive()

此函数会递归地合并一个或多个数组,当输入的数组中有相同的字符串键名时会合并到一个数组中,而不是覆盖

代码如下:

$arr1 = array(‘name‘ => ‘tom‘, 123, 456);
$arr2 = array(‘age‘ => 13, ‘name‘ => ‘peter‘, ‘hello‘, ‘world‘);
$arr = array_merge_recursive($arr1, $arr2);
var_dump($arr1);
var_dump($arr2);
var_dump($arr);

运行结果:


array (size=3)
  ‘name‘ => string ‘tom‘ (length=3)
  0 => int 123
  1 => int 456

array (size=4)
  ‘age‘ => int 13
  ‘name‘ => string ‘peter‘ (length=5)
  0 => string ‘hello‘ (length=5)
  1 => string ‘world‘ (length=5)

array (size=6)
  ‘name‘ => 
    array (size=2)
      0 => string ‘tom‘ (length=3)
      1 => string ‘peter‘ (length=5)
  0 => int 123
  1 => int 456
  ‘age‘ => int 13
  2 => string ‘hello‘ (length=5)
  3 => string ‘world‘ (length=5)

+

加号在合并数组时如果出现数组中有相同的字符串键名或者是相同的数字索引时都会进行前边的值覆盖后边的值。

代码如下:

 

$arr1 = array(‘name‘ => ‘tom‘, 123, 456);
$arr2 = array(‘age‘ => 13, ‘name‘ => ‘peter‘, ‘hello‘, ‘world‘);
$arr = $arr1 + $arr2;
var_dump($arr1);
var_dump($arr2);
var_dump($arr);

 

运行结果:


array (size=3)
  ‘name‘ => string ‘tom‘ (length=3)
  0 => int 123
  1 => int 456

array (size=4)
  ‘age‘ => int 13
  ‘name‘ => string ‘peter‘ (length=5)
  0 => string ‘hello‘ (length=5)
  1 => string ‘world‘ (length=5)

array (size=4)
  ‘name‘ => string ‘tom‘ (length=3)
  0 => int 123
  1 => int 456
  ‘age‘ => int 13

 

PHP合并数组的三种方法的分析与比较

标签:不同   字符   结果   参数   一个   运行   int   code   php   

原文地址:https://www.cnblogs.com/wp1996/p/8992848.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!