array_merge是将一个或者多个数组进行合并。
注意事项:
1.如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
2.如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。别忘了数字键名将会被重新编号!
例子1:
$array1 = array(
“color” => “red”,
2,
4
);
$array2 = array(
“a”,
“b”,
“color” => “green”,
“shape” => “trapezoid”,
4
);
result=arraymerge(result = array_merge(result=arraymerge(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:
$array1 = array();
$array2 = array(1 => “data”);
result=arraymerge(result = array_merge(result=arraymerge(array1, $array2);
echo "<pre>";
print_r($result);
echo "</pre>";
输出结果如下:
Array
(
[0] => data
)
如果你想完全保留原有数组并只想新的数组附加到后面,用 + 运算符:
第一个数组的键名将会被保留。在两个数组中存在相同的键名时,第一个数组中的同键名的元素将会被保留,第二个数组中的元素将会被忽略。
$array1 = array(0 => 'zero_a', 2 => 'two_a', 3 => 'three_a');
$array2 = array(1 => 'one_b', 3 => 'three_b', 4 => 'four_b');
$result = $array1 + $array2;
echo "<pre>";
print_r($result);
echo "</pre>";
输出结果如下:
Array
(
[0] => zero_a
[2] => two_a
[3] => three_a
[1] => one_b
[4] => four_b
)
合并非数组的类型。
$beginning = ‘foo’;
$end = array(1 => ‘bar’);
result=arraymerge((array)result = array_merge((array)result=arraymerge((array)beginning, (array)$end);
echo "<pre>";
print_r($result);
echo "</pre>";
输出结果如下:
Array
(
[0] => foo
[1] => bar
)