128 PHP合併陣列+與array_merge的區別分析
在PHP中可以使用array_merge函式和兩個陣列相加array+array的方式進行陣列合並,但兩者效果並不相同,下面為大家介紹兩者具體的使用區別.
區別如下:
當下標為數值時,array_merge()不會覆蓋掉原來的值,但array+array合併陣列則會把最先出現的值作為最終結果返回,而把後面的陣列擁有相同鍵名的那些值“拋棄”掉(不是覆蓋).
當下標為字元時,array+array仍然把最先出現的值作為最終結果返回,而把後面的陣列擁有相同鍵名的那些值“拋棄”掉,但array_merge()此時會覆蓋掉前面相同鍵名的值.
例子1:
程式碼:
$arr1 = ['PHP', 'apache'];
$arr2 = ['PHP', 'MySQl', 'HTML', 'CSS'];
$mergeArr = array_merge($arr1, $arr2);
$plusArr = $arr1 + $arr2;
var_dump($mergeArr);
var_dump($plusArr);
結果
$mergeArr:
array (size=6)
0 => string 'PHP' (length=3)
1 => string 'apache' (length=5)
2 => string 'PHP' (length=3)
3 => string 'MySQl' (length=5)
4 => string 'HTML' (length=4)
5 => string 'CSS' (length=3)
$plusArr
array (size=4)
0 => string 'PHP' (length=3)
1 => string 'apache' (length=5)
2 => string 'HTML' (length=4)
3 => string 'CSS' (length=3
例子2:
程式碼:
$arr1 = ['PHP', 'a'=>'MySQl'];
$arr2 = ['PHP', 'MySQl', 'a'=>'HTML', 'CSS'];
$mergeArr = array_merge($arr1, $arr2);
$plusArr = $arr1 + $arr2;
var_dump($mergeArr);
var_dump($plusArr);
結果
$mergeArr:
array (size=5)
0 => string 'PHP' (length=3)
'a' => string 'HTML' (length=4)
1 => string 'PHP' (length=3)
2 => string 'MySQl' (length=5)
3 => string 'CSS' (length=3)
$plusArr
array (size=4)
0 => string 'PHP' (length=3)
'a' => string 'MySQl' (length=5)
1 => string 'MySQl' (length=5)
2 => string 'CSS' (length=3)
例子3:
程式碼:
$arr1 = ['PHP', 'a'=>'MySQl','6'=>'CSS'];
$arr2 = ['PHP', 'MySQl', 'a'=>'HTML', 'CSS'];
$mergeArr = array_merge($arr1, $arr2);
$plusArr = $arr1 + $arr2;
var_dump($mergeArr);
var_dump($plusArr);
結果:
$mergeArr
array (size=6)
0 => string 'PHP' (length=3)
'a' => string 'HTML' (length=4)
1 => string 'CSS' (length=3)
2 => string 'PHP' (length=3)
3 => string 'MySQl' (length=5)
4 => string 'CSS' (length=3)
$plusArr
array (size=5)
0 => string 'PHP' (length=3)
'a' => string 'MySQl' (length=5)
6 => string 'CSS' (length=3)
1 => string 'MySQl' (length=5)
2 => string 'CSS' (length=3)
相關文章
- array_merge和+號合併陣列的區別陣列
- PHP 中的陣列相加操作以及與 array_merge 之間的區別PHP陣列
- 【淺出 PHP】陣列相加和陣列合並的區別PHP陣列
- 合併陣列陣列
- 物件陣列與一般陣列的區別物件陣列
- NumPy 陣列迭代與合併詳解陣列
- PHP 陣列合並PHP陣列
- C#陣列與集合的區別C#陣列
- JS--陣列物件合併JS陣列物件
- 合併兩個有序陣列陣列
- 88、合併兩個有序陣列陣列
- js合併兩個陣列物件JS陣列物件
- PHP7 ?? 與 ?: 的作用和區別(null合併運算子, null條件運算子)PHPNull
- PHP原始碼分析-函式array_merge的”BUG”PHP原始碼函式
- 陣列地址與指標之間的區別與聯絡陣列指標
- PHP中二維陣列與多維陣列PHP陣列
- 將兩個有序陣列合併為一個有序陣列陣列
- 兩個有序陣列如何合併成一個有序陣列陣列
- golang切片和陣列的區別Golang陣列
- 一張截圖概括A+B與array_merge(A,B)的區別
- 命令列中的拆分與合併命令列
- 88. 合併兩個有序陣列陣列
- 合併陣列物件中相同的屬性值陣列物件
- ETL中雙流合併和多流合併的區別
- 引數為*&與*的區別以及二維陣列傳遞時列數不對等的區別陣列
- php資料型別之陣列PHP資料型別陣列
- xml與陣列的相互轉換——phpXML陣列PHP
- Golang 學習——陣列指標和指標陣列的區別Golang陣列指標
- js陣列物件相同項合併處理JS陣列物件
- 【LeetCode】88. 合併兩個有序陣列LeetCode陣列
- 陣列及陣列物件操作 ----------包括排序,去重,合併,翻轉等陣列物件排序
- Hive列合併與元素蒐集Hive
- 詳解資料結構中的“陣列”與程式語言中的“陣列”的區別和聯絡資料結構陣列
- 【面試題】array_merge 和 array+ 的區別面試題
- PHP的SPL擴充套件庫(二)物件陣列與陣列迭代器PHP套件物件陣列
- 合併分支:Git merge 和 rebase 的區別Git
- JS陣列中(for...in)和(for...of)的區別JS陣列
- 字串指標與字元陣列的區別--字串常量的值不能改字串指標字元陣列