顾名思义,数组合并就是讲一个或多个数组合并起来,一个数组的值加在前一个数组的后面,最后返回结果数组。
下面就来介绍两种数组合并方式:
1.array_merge();
array_merge()是最常用的一种数组合并方式,它是将一个或多个数组合并,如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。
比如:
$array1= array("color"=>"red",2,4);
$array2= array("a","b","color"=>"green","shape"=>"trapezoid",4);
$result=array_merge($array1,$array2);
print_r($result);
以上例程会输出:
Array(
[color] => green
[0] => 2
[1] => 4
[2] => a
[3] => b
[shape] => trapezoid
[4] => 4
)
2.如果你想完全保留原有数组并只想新的数组附加到后面,用+运算符:如:$a=$b+$c;
这里就拿$a=$b+$c来说,如果要数组相加实现数组的合并,后面相加$b和$c必须是数组。
以下是我写的代码对这两种做一个比较:
当判断$data为空的时候,如果用$req = $rew+$data;进行数组 合并的话,是不能对$data为空进行判断,程序会在115行报错。
而当换成$req=array_merge($rew,$data);对数组进行合并时,程序正常运行,对对$data为空进行判断正确。