本文主要內容是在PHP中實現數字組合併的多種方法,具有一定的參考價值,有興趣的朋友可以了解一下。
範例程式碼:
$arr1 = array(1, 2, 3, 4, 5); $arr2 = array(1, 2, 6, 7, 8, 9, 10); $result1 = array_merge($arr1, $arr2); $arr3 = array("name" => "itbsl", "age" => 13, "sex" => "Male"); $arr4 = array("name" => "火龙果", "age" => 13, "sex" => "Male"); $result2 = array_merge($arr3, $arr4); echo "<pre class="brush:php;toolbar:false">"; var_dump($result1); var_dump($result2);
執行上面的程式碼,輸出結果如下圖所示:
普通數組合併時,會把第二個數組放到第一個數組後面,拼接後返回。
但是對於鍵值對的陣列來說,如果有相同的鍵,那麼第二個陣列會覆寫第一個陣列相同的鍵所對應的值。
合併範例程式碼:
$arr1 = array(1, 2, 3, 4, 5); $arr2 = array(1, 2, 6, 7, 8, 9, 10); $result1 = $arr1 + $arr2; $arr3 = array("name" => "itbsl", "age" => 13, "sex" => "Male"); $arr4 = array("name" => "火龙果", "age" => 13, "sex" => "Male", "id" => "411521"); $result2 = $arr3 + $arr4; echo "<pre class="brush:php;toolbar:false">"; var_dump($result1); var_dump($result2);
執行上面的程式碼,輸出結果如下圖所示:
#可以看到,對於用" "來合併兩個數組而言,無論是普通數組還是鍵值對型數組,只要下標相同或者鍵相同,都是前者覆蓋後者。這一點需要注意。
array_combine()
函數會得到一個新數組,它由一組提交的鍵和對應的值組成。
範例程式碼:
$arr1 = array("A","B","C","D"); $arr2 = array("paul","itbsl","Golang","PHP"); $result = array_combine($arr1,$arr2); echo '<pre class="brush:php;toolbar:false">'; var_dump($result);
執行上面的程式碼,輸出結果如下圖所示:
#注意:如果需要合併數字組成為上面的形式,那麼合併的兩個數組的長度必須相等,也就是count($arr1) == count($arr2),並且不能為空
array_merge_recursive()
函數與array_merge()
相同,可以將兩個或多個數字組合併在一起,形成一個聯合的陣列.兩者之間的差異在於,當某個輸入數組中的某個鍵己經存在於結果數組中時該函數會採取不同的處理方式. array_merge()
會覆寫前面存在的鍵/值對,替換為目前輸入陣列中的鍵/值對,而array_merge_recursive()
將把兩個值合併在一起,形成一個新的數組,並以原有的鍵作為數組名。
範例程式碼:
$arr3 = array("name" => "itbsl", "age" => 13, "sex" => "Male"); $arr4 = array("name" => "火龙果", "age" => 13, "sex" => "Male"); $result2 = array_merge_recursive($arr3, $arr4); echo "<pre class="brush:php;toolbar:false">"; var_dump($result2);
執行上面的程式碼,輸出結果如下圖所示:
#相關教學:PHP影片教學
以上是【PHP學習】多種方法實作合併數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!