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>";
var_dump($result1);
var_dump($result2);

運行上面的代碼,輸出結果如下圖所示:

普通數組合並時,會把第二個數組放到第一個數組后面,拼接后返回。
但是對於鍵值對的數組來說,如果有相同的鍵,那么第二個數組會覆蓋第一個數組相同的鍵所對應的值。

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>";
var_dump($result1);
var_dump($result2);

運行上面的代碼,輸出結果如下圖所示:

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

3.連接兩個數組

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

$arr1 = array("A","B","C","D"); 
$arr2 = array("paul","itbsl","Golang","PHP"); 
$result = array_combine($arr1,$arr2); 
echo '<pre>';
var_dump($result);

運行上面的代碼,輸出結果如下圖所示:


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

4.遞歸追加數組

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>";
var_dump($result2);

運行上面的代碼,輸出結果如下圖所示:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM