php下將多個數組合并成一個數組的方法與實例代碼
更新時間:2011年02月03日 15:08:47 作者:
php下將多個數組合并成一個數組的方法與實例代碼,需要的朋友可以參考下。
1.合并數組
array_merge()函數將數組合并到一起,返回一個聯合的數組。所得到的數組以第一個輸入數組參數開始,按后面數組參數出現的順序依次迫加。其形式為:
array array_merge (array array1 array2…,arrayN)
將一個或多個數組的單元合并起來,一個數組中的值附加在前一個數組的后面。返回作為結果的數組。
如果輸入的數組中有相同的字符串鍵名,則該鍵名后面的值將覆蓋前一個值。然而,如果數組包含數字鍵名,后面的值將不會覆蓋原來的值,而是附加到后面。
如果只給了一個數組并且該數組是數字索引的,則鍵名會以連續(xù)方式重新索引。
實例如下:
$face = array("J","Q","K","A");
$numbered = array("2","3","4","5","6","7","8","9");
$cards = array_merge($face, $numbered);
shuffle($cards);
print_r($cards);
這將返回如下所示的結果,運行代碼:
Array ( [0] => A [1] => 4 [2] => 9 [3] => 3 [4] => K [5] => 7 [6] => 5 [7] => Q [8] => 6 [9] => 8 [10] => 2 [11] => J )
2.遞歸追加數組
array_merge_recursive()函數與array_merge()相同,可以將兩個或多個數組合并在一起,形成一個聯合的數組.兩者之間的區(qū)別在于,當某個輸入數組中的某個鍵己經存在于結果數組中時該函數會采取不同的處理方式.array_merge()會覆蓋前面存在的鍵/值對,替換為當前輸入數組中的鍵/值對,而array_merge_recursive()將把兩個值合并在一起,形成一個新的數組,并以原有的鍵作為數組名。還有一個數組合并的形式,就是遞歸追加數組。其形式為:
view sourceprint?array array_merge_recursive( array key,array values )
示例如下:
$class1 = array("John" => 100, "James" => 85);
$class2 = array("Micky" => 78, "John" => 45);
$classScores = array_merge_recursive($class1, $class2);
print_r($classScores);
這將返回如下結果:
view sourceprint?Array ( [John] => Array ( [0] => 100 [1] => 45 ) [James] => 85 [Micky] => 78 )
3.連接兩個數組
array_combine()函數會得到一個新數組,它由一組提交的鍵和對應的值組成。其形式為:
view sourceprint?array array_merge(array array1,array array2[…,array arrayN])
注意,兩個輸入數組必須大小相同,不能為空。示例如下:
$abbreviations = array("AL","AK","AZ","AR");
$states = array("Alabama","Alaska","Arizona","Arkansas");
$stateMap = array_combine($abbreviations,$states);
print_r($stateMap);
這會返回:
Array ( [AL] => Alabama [AK] => Alaska [AZ] => Arizona [AR] => Arkansas )
array_merge()函數將數組合并到一起,返回一個聯合的數組。所得到的數組以第一個輸入數組參數開始,按后面數組參數出現的順序依次迫加。其形式為:
復制代碼 代碼如下:
array array_merge (array array1 array2…,arrayN)
將一個或多個數組的單元合并起來,一個數組中的值附加在前一個數組的后面。返回作為結果的數組。
如果輸入的數組中有相同的字符串鍵名,則該鍵名后面的值將覆蓋前一個值。然而,如果數組包含數字鍵名,后面的值將不會覆蓋原來的值,而是附加到后面。
如果只給了一個數組并且該數組是數字索引的,則鍵名會以連續(xù)方式重新索引。
實例如下:
復制代碼 代碼如下:
$face = array("J","Q","K","A");
$numbered = array("2","3","4","5","6","7","8","9");
$cards = array_merge($face, $numbered);
shuffle($cards);
print_r($cards);
這將返回如下所示的結果,運行代碼:
復制代碼 代碼如下:
Array ( [0] => A [1] => 4 [2] => 9 [3] => 3 [4] => K [5] => 7 [6] => 5 [7] => Q [8] => 6 [9] => 8 [10] => 2 [11] => J )
2.遞歸追加數組
array_merge_recursive()函數與array_merge()相同,可以將兩個或多個數組合并在一起,形成一個聯合的數組.兩者之間的區(qū)別在于,當某個輸入數組中的某個鍵己經存在于結果數組中時該函數會采取不同的處理方式.array_merge()會覆蓋前面存在的鍵/值對,替換為當前輸入數組中的鍵/值對,而array_merge_recursive()將把兩個值合并在一起,形成一個新的數組,并以原有的鍵作為數組名。還有一個數組合并的形式,就是遞歸追加數組。其形式為:
view sourceprint?array array_merge_recursive( array key,array values )
示例如下:
復制代碼 代碼如下:
$class1 = array("John" => 100, "James" => 85);
$class2 = array("Micky" => 78, "John" => 45);
$classScores = array_merge_recursive($class1, $class2);
print_r($classScores);
這將返回如下結果:
view sourceprint?Array ( [John] => Array ( [0] => 100 [1] => 45 ) [James] => 85 [Micky] => 78 )
3.連接兩個數組
array_combine()函數會得到一個新數組,它由一組提交的鍵和對應的值組成。其形式為:
view sourceprint?array array_merge(array array1,array array2[…,array arrayN])
注意,兩個輸入數組必須大小相同,不能為空。示例如下:
復制代碼 代碼如下:
$abbreviations = array("AL","AK","AZ","AR");
$states = array("Alabama","Alaska","Arizona","Arkansas");
$stateMap = array_combine($abbreviations,$states);
print_r($stateMap);
這會返回:
復制代碼 代碼如下:
Array ( [AL] => Alabama [AK] => Alaska [AZ] => Arizona [AR] => Arkansas )
相關文章
用sql命令修改數據表中的一個字段為非空(not null)的語句
今天群里的一個朋友問如何用sql命令修改數據表中的一個字段為非空(not null),經常測試下面的代碼即可。2010-06-06
PHP中l(wèi)trim與rtrim去除左右空格及特殊字符實例
這篇文章主要介紹了PHP中l(wèi)trim與rtrim去除左右空格及特殊字符的用法,結合實例形式較為詳細的說明了ltrim與rtrim的定義,參數作用及去除左右空格與特殊字符的使用技巧,需要的朋友可以參考下2016-01-01

