
在 PHP 中合併關聯數組
在 PHP 中,可以使用 array_merge() 函數有效地將兩個關聯數字組合併為一個。具體方法如下:
考慮以下兩個關聯數組:
1 2 3 | <code class = "php" > $array1 = [ "name1" => "id1" ];
$array2 = [ "name2" => "id2" , "name3" => "id3" ];</code>
|
登入後複製
方法1:array_merge()
合併數組,使用array_merge( )函數,如下所示:
1 | <code class = "php" > $array3 = array_merge ( $array1 , $array2 );</code>
|
登入後複製
這將建立一個新數組 $array3,其中包含 $array1 和 $array2 中的所有鍵值對。重複鍵的值將被第二個陣列中的值覆蓋。
方法2:陣列加法( ) 運算子
或者,您可以使用陣列加法( ) 運算符合並陣列:
1 | <code class = "php" > $array4 = $array1 + $array2 ;</code>
|
登入後複製
此運算子也會合併數組,但不會覆寫重複的鍵值。相反,它將產生一個具有重複鍵的多維數組。
結果
在這兩種情況下,$array3和$array4將是:
1 2 3 4 5 | array (4) {
[ "name1" ] => "id1" ,
[ "name2" ] => "id2" ,
[ "name3" ] => "id3"
}
|
登入後複製
單元測試
1 2 3 4 5 6 7 8 9 10 11 12 13 | <code class = "php" > class ArrayMergeTest extends PHPUnit_Framework_TestCase
{
public function testArrayMerge()
{
$array1 = [ "name1" => "id1" ];
$array2 = [ "name2" => "id2" , "name3" => "id3" ];
$expectedArray = [ "name1" => "id1" , "name2" => "id2" , "name3" => "id3" ];
$actualArray = array_merge ( $array1 , $array2 );
$this ->assertEquals( $expectedArray , $actualArray );
}
}</code>
|
登入後複製
單元測試單元測試單元測試單元測試單元測試單元測試單元測試單元測試單元測試單元測試單元測試單元測試要對此功能進行單元測試,您可以建立測試案例來斷言array_merge() 函數或陣列加法運算子的預期行為。這是使用 PHPUnit 的範例測試:
以上是如何在 PHP 中組合兩個關聯數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!