PHP | array_merge_recursive()函数
array_merge_recursive()是PHP中的一个内置函数,用于递归地将两个或多个数组合并为一个数组。此函数用于将两个或多个数组的元素或值合并到一个数组中。合并以这样一种方式发生,即一个数组的值被附加到前一个数组的末尾。如果给定数组中有相同的键,则为该键分配一个值,该值具有一个由具有相同键的值组成的数组。
注意:该函数与 array_merge() 的不同之处在于,在多个具有相同键的数组的情况下,array_merge()函数从所有数组中获取最后一个数组值,但在array_merge_recursive()中,键被分配了一个数组,该数组由具有相同键的数组的所有值。
句法:
array_merge_recursive($array1, $array2, $array3...$arrayn)
参数:该函数可以将任意数量的数组作为参数,以逗号(,)分隔,我们需要合并。第一个参数$array1是必需的。
返回值:该函数返回一个合并的数组,其中所有数组都合并了。合并以这样一种方式发生,即一个数组的值被附加到前一个数组的末尾。如果给定数组中有相同的键,则为输出数组中的该键分配一个数组,该数组由具有相同键的值组成。
例子:
Input : $a1=array("a"=>"raj", "b"=>"striver");
$a2=array("z"=>"geeks", "b"=>"articles");
Output :
Array
(
[a] => raj
[b] => Array
(
[0] => striver
[1] => articles
)
[z] => geeks
)
Explanation: "striver" and "articles" has the same
key "b", so the key b is assigned to an array which has
"striver" and "articles" as elements.
Input :$a1=array("a"=>"raj", "b"=>"striver");
$a2=array("z"=>"geeks", "d"=>"articles");
Output :
Array
(
[a] => raj
[b] => striver
[z] => geeks
[d] => articles
)
下面的程序说明了 array_merge_recursive()函数:
程序1:演示array_merge_recursive()的PHP程序
函数与所有不同的键。
"raj", "b"=>"striver");
$a2=array("z"=>"geeks", "d"=>"articles");
print_r(array_merge_recursive($a1, $a2));
?>
输出:
Array
(
[a] => raj
[b] => striver
[z] => geeks
[d] => articles
)
程序 2:用相同的键演示 array_merge_recursive()函数的PHP程序。
"raj", "b"=>"striver");
$a2=array("z"=>"geeks", "b"=>"articles");
//function call
print_r(array_merge_recursive($a1, $a2));
?>
输出:
Array
(
[a] => raj
[b] => Array
(
[0] => striver
[1] => articles
)
[z] => geeks
)
参考:
http:// PHP.net/manual/en/函数.array-merge-recursive。 PHP