超越PHP PHP动态 | 经典文章 | CLASS | 相关下载 | 常见问题 | FORUM | WIKI | 在线手册
Site search:    
<array_merge_recursivearray_multisort>
Last updated: Fri, 22 Jun 2007

array_merge

(PHP 4 , PHP 5)

array_merge -- 合并两个或多个数组

说明

array array_merge ( array array1, array array2 [, array ...])

array_merge() 将两个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。

如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。

例子 1. array_merge() 例子

<?php
$array1
= array ("color" => "red", 2, 4);
$array2 = array ("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge ($array1, $array2);
print_r($result);
?>

$result 成为:

Array
(
   [color] => green
   [0] => 2
   [1] => 4
   [2] => a
   [3] => b
   [shape] => trapezoid
   [4] => 4
)

例子 2. 简单的 array_merge() 例子

<?php
$array1
= array();
$array2 = array(1 => "data");
$result = array_merge($array1, $array2);
?>

别忘了数字键名将会被重新编号!

Array
(
   [0] => data
)

如果你想完全保留原有数组并只想新的数组附加到后面,用 + 运算符:

<?php
$array1
= array();
$array2 = array(1 => "data");
$result = $array1 + $array2;
?>

数字键名将被保留从而原来的关联保持不变。

Array
(
   [1] => data
)

注: 共有的键名将根据先来先服务的原则被覆盖掉。

参见 array_merge_recursive()array_combine()




add a note add a note User Contributed Notes
array_merge
tobias_mik at hotmail dot com
25-Jul-2003 08:14
This function merges any number of arrays and maintains the keys:

<?php
function array_kmerge ($array) {
reset($array);
while ($tmp = each($array))
{
if(count($tmp['value']) > 0)
 {
  $k[$tmp['key']] = array_keys($tmp['value']);
  $v[$tmp['key']] = array_values($tmp['value']);
 }
}
while($tmp = each($k))
{
 for ($i = $start; $i < $start+count($tmp['value']); $i ++)$r[$tmp['value'][$i-$start]] = $v[$tmp['key']][$i-$start];
 $start = count($tmp['value']);
}
return $r;
}
?>

<array_merge_recursivearray_multisort>
 Last updated: Fri, 22 Jun 2007
view source | feedback | send page | sitemap | aboutus   
Copyright ® 2002-2003 PHPE.NET. All rights reserved
Last updated:2002-11-22