首頁  >  文章  >  後端開發  >  php合併陣列的方式有哪些

php合併陣列的方式有哪些

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼原創
2019-08-27 16:56:015098瀏覽

php合併陣列的方式有哪些

1、arrary_merge

#範例程式碼:

$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);

執行上面的程式碼,輸出結果如下圖:

php合併陣列的方式有哪些

普通數字組合並時,會把第二個陣列放到第一個陣列後面,拼接後再回來。

相關推薦:《PHP入門教學

但是對於鍵值對的陣列來說,如果有相同的鍵,那麼第二個陣列會覆寫第一個數組相同的鍵所對應的值。

2、透過「」合併

範例程式碼:

$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);

執行上面的程式碼,輸出結果如下圖所示:

php合併陣列的方式有哪些

可以看到,對於用" "來合併兩個數組而言,無論是普通數組還是鍵值對型數組,只要下標相同或鍵相同,都是前者覆蓋後者。這一點需要注意。

3、連接兩個陣列

array_combine()函數會得到一個新數組,它由一組提交的鍵和對應的值組成。

範例程式碼:

$arr1 = array("A","B","C","D"); 
$arr2 = array("paul","itbsl","Golang","PHP"); 
$result = array_combine($arr1,$arr2); 
echo &#39;<pre class="brush:php;toolbar:false">&#39;;
var_dump($result);

執行上面的程式碼,輸出結果如下圖所示:

php合併陣列的方式有哪些

注意:如果需要合併數字組成為上面的形式,那麼合併的兩個陣列的長度必須相等,也就是count($arr1) == count($arr2),且不能為空。

4、遞歸追加數組

array_merge_recursive()函數與array_merge()相同,可以將兩個或多個數組合併在一起,形成一個聯合的數組.兩者之間的差異在於,當某個輸入數組中的某個鍵己經存在於結果數組中時該函數會採取不同的處理方式. array_merge()會覆寫前面存在的鍵/值對,替換為目前輸入數組中的鍵/值對,而ar​​ray_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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn