PHP中的合并和拆分函数,他们分别是array_merge()函数和array_chunk()函数
php数组之整合、拆分
1、array_merge()函数
array_merge()函数的作用是合并一个或多个数组。
array array_merge(array $array1 [,array $...]);
array_merge()将一个或者多个数组的单元合并起来,一个数组的值附加在另一个数组的后面,返回一个新的数组。
- ①如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前面的值;
- ②如果数组中包含数字键名,后面的值不会覆盖原来的值,而是附加在数组的后面;
- ③如果数组是数字索引的,则键名会以连续方式重新编排索引。
<?php $array1=array("color"=>"red",2,4); $array2=array("a","b","color"=>"green","shape"=>"trapezoid",4); $result=array_merge($array1,$array2); echo "<pre>"; print_r($result); echo "</pre>"; /*运行结果: Array ( [color] => green [0] => 2 [1] => 4 [2] => a [3] => b [shape] => trapezoid [4] => 4 ) */ ?>
2、array_chunk()函数
函数array_chunk()的作用是将一个数组分割成多个数组。
array array_chunk(array $input,int $size [,bool $preserve_keys]);
上述声明中,$input表示要分割的数组,$size是分割后每个数组中元素的个数,$preserve_keys是一个可选参数。如果将该参数设置为true,则分割后的数组中元素保留原来的索引,如果将该参数设置为false,则分割后数组中的元素的索引将从零开始。
代码如下:
<?php $arr=array("cctv-a","cctv-b","cctv-c"); //分割数组 echo "<pre>"; echo "分割后的数组为:" . "<br/>"; print_r(array_chunk($arr,2)); echo "</pre>"; /*运行结果: 分割后的数组为: Array ( [0] => Array ( [0] => cctv-a [1] => cctv-b ) [1] => Array ( [0] => cctv-c ) ) */ //第二次分割 echo "<pre>"; echo "分割后的数组为:" . "<br/>"; print_r(array_chunk($arr,2,true)); echo "</pre>"; /*运行结果: 分割后的数组为: Array ( [0] => Array ( [0] => cctv-a [1] => cctv-b ) [1] => Array ( [2] => cctv-c ) ) */ ?>