array_merge()函數在php中是對陣列進行合併的,可以把多個數組合成一個數組,並且不改變原始數組的價值了,但今天我在使用array_merge合併數組時碰到幾個小細節上的問題,下面我舉例子給各位朋友看看
#1.array_merge()合併
$array = array('a'=>'bb'); $array2 = array('b'=>'cc'); $array3 = array_merge($array,$array2);
輸出結果為
Array ( [a] => bb [b] => cc )
上面因為都是數組就沒有問題了,假如我們把$array 設定不是數組看看什麼情況
$array = 1;//array('a'=>'bb'); $array2 = array('b'=>'cc'); $array3 = array_merge($array,$array2); print_r( $array3 );
運行後結果
Warning: array_merge() [function.array-merge]: Argument #1 is not an array in E:test1.php on (www.jb51.net)line 4
告訴我們必須是要一個數組了,那麼這個我就有多種方法來解決,
1.使用is_array() 進行判斷了,但是會發現如果合併數組比較多一個個判斷不合理,後來發現可以轉換資料類別
$array = 1;//array('a'=>'bb'); $array2 = array('b'=>'cc'); $array3 = array_merge((array)$array,(array)$array2); print_r( $array3 ); 输出结果不报错了 Array ( [0] => 1 [b] => cc )
#他自動把數字1轉換成了陣列了,所以大家在使用時一定要注意這些細節哦。
把兩個數字組合併為一個陣列:
<?php$a1=array("a"=>"red","b"=>"green");$a2=array("c"=>"blue","b"=>"yellow");print_r(array_merge($a1,$a2));?>
定義和用法
array_merge() 函數用來把一個或多個數字組合成一個陣列。
提示:您可以向函數輸入一個或多個陣列。
註解:如果兩個或更多個陣列元素有相同的鍵名,則最後的元素會覆寫其他元素。
註解:如果您僅向array_merge() 函數輸入數組,且鍵名是整數,則函數將傳回帶有整數鍵名的新數組,其鍵名以0 開始進行重新索引(參見下面的實例1)。
提示:函數與 array_merge_recursive() 函數之間的差異是處理兩個或更多陣列元素有相同的鍵名的情況。 array_merge_recursive() 不會進行鍵名覆蓋,而是將多個相同鍵名的值遞歸組成一個陣列。
語法
array_merge(array1,array2,array3...)
array1 必要。規定數組。
array2 可選。規定數組。
array3 可選。規定數組。
傳回合併的陣列。
只使用一個有整數鍵名的參數:
<?php$a=array(3=>"red",4=>"green");print_r(array_merge($a));?>
以上是php合併數組函數array_merge()的詳細內容。更多資訊請關注PHP中文網其他相關文章!