PHP陣列合併的幾種方式

2021-10-24 19:38:14 字數 2860 閱讀 6520

直接將兩個陣列的值合併成為乙個陣列;

$a = [1,2,3,'a'=>'a'];

$b = ['a'=>'b',4,5,'b'=>'c',6,7,'a'];

$c = $a + $b;

print_r($a);

print_r($b);

print_r($c);

//$a

array

( [0] => 1

[1] => 2

[2] => 3

[a] => a

)//$b

array

( [a] => b

[0] => 4

[1] => 5

[b] => c

[2] => 6

[3] => 7

[4] => a

)//$c

array

( [0] => 1

[1] => 2

[2] => 3

[a] => a

[b] => c

[3] => 7

[4] => a

)

採用"+"合併陣列,如果鍵相同的情況下,前面的陣列值會覆蓋掉後面的陣列值。

將某個變數放入到另乙個陣列當中

$a = [1,'a'=>'aa',2,'b'=>'bb'];

$b = [1,'a'=>'aa',2,'b'=>'bb'];

print_r($a);

print_r($b);

array_push($a, $b);

print_r($a);

//$a

array

( [0] => 1

[a] => aa

[1] => 2

[b] => bb

)//$b

array

( [0] => 1

[a] => aa

[1] => 2

[b] => bb

)// array_push過後的$a

array

( [0] => 1

[a] => aa

[1] => 2

[b] => bb

[2] => array

([0] => 1

[a] => aa

[1] => 2

[b] => bb

))

通過列印的值可以看出,變數進入陣列後,對應的數字索引必然是當前陣列中最小的數字索引+1(如果當前陣列不存在數字索引,新增元素對應的索引為0)

直接將兩個陣列進行合併,兩個陣列鍵相同的情況,後面陣列的值覆蓋前面陣列的值

$a = [1,'2'=>2,'a'=>'a','b'=>'b'];

$b = [1,'2'=>3,'a'=>'c','b'=>'d','c'=>'e'];

$c = array_merge($a,$b);

print_r($a);

print_r($b);

print_r($c);

//$a

array

( [0] => 1

[2] => 2

[a] => a

[b] => b

)//$b

array

( [0] => 1

[2] => 3

[a] => c

[b] => d

[c] => e

)//$c

array

( [0] => 1

[1] => 2

[a] => c

[b] => d

[2] => 1

[3] => 3

[c] => e

)

可以看出,兩個陣列鍵相同的情況,後面陣列的值覆蓋前面陣列的值。但是對於數字索引或者數字字串索引,會按照順序進行重置(第乙個陣列的第乙個數字索引元素從0開始依次填充)

合併陣列,遇到相同的鍵將該鍵中值合併為乙個子陣列

$a = [1,'2'=>2,'a'=>'a','b'=>'b'];

$b = [1,'2'=>3,'a'=>'a','b'=>'d','c'=>'e'];

$c = array_merge_recursive($a,$b);

print_r($a);

print_r($b);

print_r($c);

//$a

array

( [0] => 1

[2] => 2

[a] => a

[b] => b

)//$b

array

( [0] => 1

[2] => 3

[a] => a

[b] => d

[c] => e

)//$c

array

( [0] => 1

[1] => 2

[a] => array

([0] => a

[1] => a

)[b] => array

([0] => b

[1] => d

)[2] => 1

[3] => 3

[c] => e

)

採用"array_merge_recursive"方法時,會將相同鍵的元素,整合成為乙個新的陣列,保持鍵名不變,作為合併陣列($a與$b組合後的陣列)的乙個子元素。但是對於數字索引或者數字字串索引,會按照順序進行重置(第乙個陣列的第乙個數字索引元素從0開始依次填充)。即使對應的數字索引相同,也不會將相同索引的元素整合成功乙個子陣列。

php陣列合併

php的陣列在這門語言裡使用得非常多。陣列的一些常見操作像split explode,join implode,排序 sort,asort,ksort,arsort 兩陣列合併 array combine 鍵值翻轉 array flip 當然還有比較複雜的陣列合併。陣列合併至少有4種形式。1.第一種...

PHP陣列 陣列合併

陣列合併函式 array merge或者 array merge 將乙個或多個陣列的單元合併起來,乙個陣列中的值附加在前乙個陣列的後面。返回作為結果的陣列。如果輸入的陣列中有相同的字串鍵名,則該鍵名後面的值將覆蓋前乙個值。然而,如果陣列包含數字鍵名,後面的值將不會覆蓋原來的值,而是附加到後面。如果只...

關於陣列合併,php

array merge 合併兩個陣列,如果陣列的鍵名是字元,而且兩個陣列的鍵名是相同的字元,如 array3 array 性別 男 姓名 不是女人 array4 array 性別 不知道 長相 很帥 哪麼,合併之後,後者將會覆蓋前者,這樣合併之後就變成了 array 性別 不知道 姓名 不是女人 長...