PHP中数组合并 追加数组例子

PHP中数组函数有很多,我们要对数据进行合并与追加都只要使用相关的函数就可以完成了,下面给各位整理几个例子.

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

array array_merge (array array1 array2…,arrayN)

下面是一个PHP合并数组的例子,代码如下:

  1. <?php
  2. $fruits = array("apple","banana","pear");
  3. $numbered = array("1","2","3");
  4. $cards = array_merge($fruits, $numbered);
  5. print_r($cards);
  6. // 输出结果:
  7. // Array ( [0] => apple [1] => banana [2] => pear [3] => 1 [4] => 2 [5] => 3 )
  8. ?>

用PHP追加数组,使用array_merge_recursive(),将两个数组合并在一起,注意,与array_merge()函数是不一样的,array_merge()的两个数组有重复项时会覆盖掉,而array_merge_recursive()则不会,array_merge_recursive()语法:

array array_merge_recursive(array array1,array array2[…,array arrayN])

下面是一个PHP追加数组的例子:

  1. <?php
  2. $fruit1 = array("apple" => "red", "banana" => "yellow");
  3. $fruit2 = array("pear" => "yellow", "apple" => "green");
  4. $result = array_merge_recursive($fruit1, $fruit2);
  5. print_r($result);
  6. // 输出结果:
  7. // Array ( [apple] => Array ( [0] => red [1] => green ) [banana] => yellow [pear] => yellow )
  8. ?>

现在apple 指向一个数组,由两个颜色值组成的索引数组,还有一种比较怪的做法就是合并数组.

array_splice()语法格式为:

array array_splice(array array,int offset[,length[,array replacement]])

例子代码如下:

  1. <?php
  2. $fruits = array("Apple", "Banana", "Orange", "Pear", "Grape", "Lemon", "Watermelon");
  3. $subset = array_splice($fruits, 4);
  4. print_r($fruits);
  5. print_r($subset);
  6. // 输出结果为:
  7. // Array ( [0] => Apple [1] => Banana [2] => Orange [3] => Pear )
  8. // Array ( [0] => Grape [1] => Lemon [2] => Watermelon )
  9. ?>

我们还可以使用可选参数replacement来指定取代目标部分的数组,请看下面的例子:

  1. <?php
  2. $fruits = array("Apple", "Banana", "Orange", "Pear", "Grape", "Lemon", "Watermelon");
  3. $subset = array_splice($fruits, 2, -1, array("Green Apple", "Red Apple"));
  4. print_r($fruits);
  5. print_r($subset);
  6. // 输出结果:phpfensi.com
  7. // Array ( [0] => Apple [1] => Banana [2] => Green Apple [3] => Red Apple [4] => Watermelon )
  8. // Array ( [0] => Orange [1] => Pear [2] => Grape [3] => Lemon )
  9. ?>