PHP幾種合併陣列的不同效果

2021-10-07 02:44:34 字數 2730 閱讀 3542

array_merge_recursive — 遞迴地合併乙個或多個陣列

<?php

$first=[

'key'

=>

'no1'];

$second=[

'key'

=>

'no2'];

print_r

(array_merge_recursive

($first

,$second))

;

結果:

array

([key]

=>

array([

0]=> no1

[1]=> no2

))

<?php

$first=[

'key'

=>

'no1'

,'key1'

=>

'key1'

,'key2'

=>

'key2'];

$second=[

'key'

=>

'no2'

,'key1'

=>

'key2'];

print_r

(array_merge_recursive

($first

,$second))

;

結果:

array

([key]

=>

array([

0]=> no1

[1]=> no2

)[key1]

=>

array([

0]=> key1

[1]=> key2

)[key2]

=> key2

)

array_merge:後面的陣列的value會覆蓋前面陣列的value值

<?php

$first=[

'key'

=>

'no1'

,'key1'

=>

'key1'

,'key2'

=>

'key2'];

$second=[

'key'

=>

'no2'

,'key1'

=>

'key2'];

print_r

(array_merge

($first

,$second))

;array

([key]

=> no2

[key1]

=> key2

[key2]

=> key2

)

array+array兩個陣列合併保留前面的陣列,同時新增後面陣列中新的索引和值

<?php

$first=[

'a',

'b',

'c'=

>2]

;$second=[

'c'=

>1,

'd'=

>3,

'4']

;print_r

($first

+$second

);

結果:

array([

0]=> a

[1]=> b

[c]=>

2[d]

=>

3)

註解:之所以沒有保留第二個陣列中的4,是因為sec

ond裡

的4對應

的數字索

引是0,

也就是0

=>′4

′,

而second裡的4對應的數字索引是0,也就是0=>'4',而

second

裡的4對

應的數字

索引是0

,也就是

0=>′4

′,而first的數字索引是0=>』a』,1=>』b』,列印如下:

$first=[

0=>

'a',1=

>

'b',];

$second=[

0=>

'4',

];

所以4沒有出現在陣列中,為了更進一步直觀驗證,可以在$second裡新增幾個值

<?php

$first=[

'a',

'b',

'c'=

>2]

;$second=[

'c'=

>1,

'd'=

>3,

'4',5,

6];print_r

($first

+$second

);

結果:

array([

0]=> a

[1]=> b

[c]=>

2[d]

=>3[

2]=>

6)

PHP合併陣列的幾種方法

a array color red 5,6 b array color blue type fruit 6,7 arr array merge a,b var dump arr array size 6 color string blue length 4 0 int 5 1 int 6 type ...

PHP陣列合併的幾種方式

直接將兩個陣列的值合併成為乙個陣列 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 ar...

PHP 合併陣列

php陣列合併 二元運算子 array merge array replace arr1 a first b second third arr2 a test1 c test2 test3 二元運算子 相同鍵 包括數字鍵與字串鍵 前面覆蓋後面的,不同鍵合併 new arr arr1 arr2 pri...