在PHP之中,當你有多個陣列想要同時合併成一個陣列的時候,可以透過 array_merge() 函數,將兩個以上的陣列合併為一個陣列,以增加陣列資料取用的便利性
使用方式:
$array = array_merge ( 陣列1, 陣列2 [, 陣列3 ......] );
陣列:將每一個你想要合併的陣列依序用逗點間隔放入括號之中 ( 放入順序也會影響合併後陣列內容的順序哦!)
array_merge() 這個函數輸出時也是以一個array陣列來呈現,因此你仍然必須要替他設定一個變數才行!
使用範例:
$Array_1 = array( "Name" => "Peter", "Gender" => "Male", "Age" => "18"); // 陣列1 $Array_2 = array( "Email" => "abc@aaa.com", "PhoneNumber" => "0912345678" ); // 陣列2 $Array = array_merge($Array_1, $Array_2); print_r($Array);
輸出結果:
Array ( [Name] => Peter [Gender] => Male [Age] => 18 [Email] => abc@aaa.com [PhoneNumber] => 0912345678 )
額外情境:
如果在多個SQL資料表中個別提取資料出來,並且你希望直接將它合併再一起,你也可以按照類似的方法將其合併,這樣之後要取用的時候就可以只取用一個陣列變數即可,增加方便程度。
例如:
$db_1 = $Result_1->fetch_assoc(); $db_2 = $Result_2->fetch_assoc(); $db_3 = $Result_3->fetch_assoc(); $db = array_merge($db_1, $db_2, $db_3);
特殊提醒:
當你的Key值是數字的時候,array_merge將會重新排序這些數字,這要特別注意!
被更新後的Key值會依據在array_merge中的陣列順序下去排序,實際情況請看下方範例:
$Array_a = array( 7 => "h", 8 => "i", 9 => "j"); $Array_b = array( 0 => "a", 1 => "b", 2 => "c"); $Array = array_merge($Array_a, $Array_b); print_r($Array);
輸出結果:
Array ( [0] => h [1] => i [2] => j [3] => a [4] => b [5] => c )
除此之外,如果合併的變數key值同時有字串與數字兩種,那麼在數字的部分一樣會從0開始被重新編排,所以在如果變數的Key值都是字串者,可以用這個方法很輕易地將其合併再一起!
參考來源:https://www.php.net/manual/en/function.array-merge
更多 PHP 相關文章 列表:https://richarlin.tw/blog/php/
Pingback: PHP - 文章列表 - RicharLin.Tw