php中array_merge_recursive函數(shù)用于將一個(gè)或多個(gè)數(shù)組的單元合并起來(lái),一個(gè)數(shù)組中的值附加在前一個(gè)數(shù)組的后面,返回作為結(jié)果的數(shù)組。本文章將詳細(xì)介紹array_merge_recursive函數(shù)的使用方法和實(shí)例。
先來(lái)介紹一下array_merge_recursive函數(shù)的基本語(yǔ)法:
array array_merge_recursive ( array $array1 [, array $... ] )
array_merge_recursive() 將一個(gè)或多個(gè)數(shù)組的單元合并起來(lái),一個(gè)數(shù)組中的值附加在前一個(gè)數(shù)組的后面。返回作為結(jié)果的數(shù)組。
如果輸入的數(shù)組中有相同的字符串鍵名,則這些值會(huì)被合并到一個(gè)數(shù)組中去,這將遞歸下去,因此如果一個(gè)值本身是一個(gè)數(shù)組,本函數(shù)將按照相應(yīng)的條目把它合并為另一個(gè)數(shù)組。然而,如果數(shù)組具有相同的數(shù)組鍵名,后一個(gè)值將不會(huì)覆蓋原來(lái)的值,而是附加到后面。
參數(shù)介紹:
參數(shù) | 描述 |
---|---|
array1 | 必需。要合并的初始數(shù)組。 |
array2 | 可選。數(shù)組變量列表,進(jìn)行遞歸合并。 |
返回值
一個(gè)結(jié)果數(shù)組,其中的值合并自附加的參數(shù)。
注意:
該函數(shù)與array_merge()函數(shù)的區(qū)別在于處理兩個(gè)或更多個(gè)數(shù)組元素有相同的鍵名時(shí)。array_merge_recursive() 不會(huì)進(jìn)行鍵名覆蓋,而是將多個(gè)相同鍵名的值遞歸組成一個(gè)數(shù)組。
如果您僅僅向 array_merge_recursive() 函數(shù)輸入一個(gè)數(shù)組,結(jié)果與 array_merge() 相同,函數(shù)將返回帶有整數(shù)鍵名的新數(shù)組,其鍵名以 0 開(kāi)始進(jìn)行重新索引。
實(shí)例:
1
2
3
4
5
6
|
<?php $ar1 = array ( "color" => array ( "favorite" => "red" ), 5 ); $ar2 = array ( 10 , "color" => array ( "favorite" => "green" , "blue" )); $result = array_merge_recursive ( $ar1 , $ar2 ); print_r ( $result ); ?> |
結(jié)果:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
Array ( [color] => Array ( [favorite] => Array ( [0] => red [1] => green ) [0] => blue ) [0] => 5 [1] => 10 ) |
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!