array?array_merge?????(?array?$array1????[,?array?$...???]?)
成都創(chuàng)新互聯(lián)公司是專業(yè)的郊區(qū)網(wǎng)站建設(shè)公司,郊區(qū)接單;提供成都網(wǎng)站建設(shè)、做網(wǎng)站,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行郊區(qū)網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
array_merge() ?將一個(gè)或多個(gè)數(shù)組的單元合并起來,一個(gè)數(shù)組中的值附加在前一個(gè)數(shù)組的后面。返回作為結(jié)果的數(shù)組。 ?
如果輸入的數(shù)組中有相同的字符串鍵名,則該鍵名后面的值將覆蓋前一個(gè)值。然而,如果數(shù)組包含數(shù)字鍵名,后面的值將不會(huì)覆蓋原來的值,而是附加到后面。 ?
如果只給了一個(gè)數(shù)組并且該數(shù)組是數(shù)字索引的,則鍵名會(huì)以連續(xù)方式重新索引。
如果你想完全保留原有數(shù)組并只想新的數(shù)組附加到后面,用 + 運(yùn)算符:
?php
$array1??=?array(?0??=??'zero_a'?,??2??=??'two_a'?,??3??=??'three_a'?);
$array2??=?array(?1??=??'one_b'?,??3??=??'three_b'?,??4??=??'four_b'?);
$result??=??$array1??+??$array2?;
var_dump?(?$result?);
?
1.合并數(shù)組
array_merge()函數(shù)將數(shù)組合并到一起,返回一個(gè)聯(lián)合的數(shù)組。所得到的數(shù)組以第一個(gè)輸入數(shù)組參數(shù)開始,按后面數(shù)組參數(shù)出現(xiàn)的順序依次迫加。其形式為:
復(fù)制代碼
代碼如下:
array
array_merge
(array
array1
array2…,arrayN)
將一個(gè)或多個(gè)數(shù)組的單元合并起來,一個(gè)數(shù)組中的值附加在前一個(gè)數(shù)組的后面。返回作為結(jié)果的數(shù)組。
如果輸入的數(shù)組中有相同的字符串鍵名,則該鍵名后面的值將覆蓋前一個(gè)值。然而,如果數(shù)組包含數(shù)字鍵名,后面的值將不會(huì)覆蓋原來的值,而是附加到后面。
如果只給了一個(gè)數(shù)組并且該數(shù)組是數(shù)字索引的,則鍵名會(huì)以連續(xù)方式重新索引。
實(shí)例如下:
復(fù)制代碼
代碼如下:
$face
=
array("J","Q","K","A");
$numbered
=
array("2","3","4","5","6","7","8","9");
$cards
=
array_merge($face,
$numbered);
shuffle($cards);
print_r($cards);
這將返回如下所示的結(jié)果,運(yùn)行代碼:
復(fù)制代碼
代碼如下:
Array
(
[0]
=
A
[1]
=
4
[2]
=
9
[3]
=
3
[4]
=
K
[5]
=
7
[6]
=
5
[7]
=
Q
[8]
=
6
[9]
=
8
[10]
=
2
[11]
=
J
)
2.遞歸追加數(shù)組
array_merge_recursive()函數(shù)與array_merge()相同,可以將兩個(gè)或多個(gè)數(shù)組合并在一起,形成一個(gè)聯(lián)合的數(shù)組.兩者之間的區(qū)別在于,當(dāng)某個(gè)輸入數(shù)組中的某個(gè)鍵己經(jīng)存在于結(jié)果數(shù)組中時(shí)該函數(shù)會(huì)采取不同的處理方式.a(chǎn)rray_merge()會(huì)覆蓋前面存在的鍵/值對(duì),替換為當(dāng)前輸入數(shù)組中的鍵/值對(duì),而array_merge_recursive()將把兩個(gè)值合并在一起,形成一個(gè)新的數(shù)組,并以原有的鍵作為數(shù)組名。還有一個(gè)數(shù)組合并的形式,就是遞歸追加數(shù)組。其形式為:
view
sourceprint?array
array_merge_recursive(
array
key,array
values
)
示例如下:
復(fù)制代碼
代碼如下:
$class1
=
array("John"
=
100,
"James"
=
85);
$class2
=
array("Micky"
=
78,
"John"
=
45);
$classScores
=
array_merge_recursive($class1,
$class2);
print_r($classScores);
這將返回如下結(jié)果:
view
sourceprint?Array
(
[John]
=
Array
(
[0]
=
100
[1]
=
45
)
[James]
=
85
[Micky]
=
78
)
3.連接兩個(gè)數(shù)組
array_combine()函數(shù)會(huì)得到一個(gè)新數(shù)組,它由一組提交的鍵和對(duì)應(yīng)的值組成。其形式為:
view
sourceprint?array
array_merge(array
array1,array
array2[…,array
arrayN])
注意,兩個(gè)輸入數(shù)組必須大小相同,不能為空。示例如下:
復(fù)制代碼
代碼如下:
$abbreviations
=
array("AL","AK","AZ","AR");
$states
=
array("Alabama","Alaska","Arizona","Arkansas");
$stateMap
=
array_combine($abbreviations,$states);
print_r($stateMap);
這會(huì)返回:
復(fù)制代碼
代碼如下:
Array
(
[AL]
=
Alabama
[AK]
=
Alaska
[AZ]
=
Arizona
[AR]
=
Arkansas
)
php將兩個(gè)鍵名和鍵值的數(shù)組元素合并為一個(gè)數(shù)組
你好,有兩個(gè)方法可以實(shí)現(xiàn):
一:
$arry_a?=?array(0,?1,?2);
$arry_b?=?array('dongsir','董先生','董先生的CSDN博客');
$arry_ab?=?[];
foreach?($arry_b?as?$key?=?$value)?{
$arry_ab[$arry_a[$key]]?=?$value;
}
echo?"pre";
print_r($arry_ab);
輸出
Array
(
[0]?=?dongsir
[1]?=?董先生
[2]?=?董先生的CSDN博客
)
第二個(gè)方法:
php將兩個(gè)鍵名和鍵值的數(shù)組元素合并為一個(gè)數(shù)組
php將兩個(gè)鍵名和鍵值的數(shù)組元素合并
如果存在相同的鍵名,則可以這樣來處理,我們參照第一個(gè)方法修改一下:
$arry_a?=?array("a",?"a",?"c");
$arry_b?=?array('dongsir','董先生','董先生的CSDN博客');
$arry_ab?=?[];
foreach?($arry_b?as?$key?=?$value)?{
if?(isset($arry_ab[$arry_a[$key]]))?{
$arry_ab[$arry_a[$key]]?=?$arry_ab[$arry_a[$key]]?.?",".?$value;
}else{
$arry_ab[$arry_a[$key]]?=?$value;
}
}
echo?"pre";
print_r($arry_ab);
輸出:
Array
(
[a]?=?dongsir,董先生
[c]?=?董先生的CSDN博客
)
PHP 中的 array_merge()、array_merge_recursive()函數(shù)可以實(shí)現(xiàn)
array_merge() 函數(shù)把兩個(gè)或多個(gè)數(shù)組合并為一個(gè)數(shù)組。
如果鍵名有重復(fù),該鍵的鍵值為最后一個(gè)鍵名對(duì)應(yīng)的值(后面的覆蓋前面的)。如果數(shù)組是數(shù)字索引的,則鍵名會(huì)以連續(xù)方式重新索引。
注意:如果僅僅向 array_merge() 函數(shù)輸入了一個(gè)數(shù)組,且鍵名是整數(shù),則該函數(shù)將返回帶有整數(shù)鍵名的新數(shù)組,其鍵名以 0 開始進(jìn)行重新索引。
array_merge(array1,array2,array3...)
參數(shù)說明
array1 必需。輸入的第一個(gè)數(shù)組。
array2 必需。輸入的第二個(gè)數(shù)組。
array3 可選??芍付ǖ亩鄠€(gè)輸入數(shù)組。
例如:
?php
$a1=array("a"="Horse","b"="Dog");
$a2=array("c"="Cow","b"="Cat");
print_r(array_merge($a1,$a2));
?
輸出:
Array ( [a] = Horse [b] = Cat [c] = Cow )
僅使用一個(gè)數(shù)組參數(shù):
?php
$a=array(3="Horse",4="Dog");
print_r(array_merge($a));
?
輸出:
Array ( [0] = Horse [1] = Dog )
array_merge_recursive() 函數(shù)與array_merge()函數(shù)不同的是,當(dāng)有重復(fù)的鍵名時(shí),值不會(huì)被覆蓋,而是將多個(gè)相同鍵名的值遞歸組成一個(gè)數(shù)組。
例如:
?php
$a1=array("a"="Horse","b"="Dog");
$a2=array("c"="Cow","b"="Cat");
print_r(array_merge_recursive($a1,$a2));
?
輸出:
Array (
[a] = Horse
[b] = Array ( [0] = Dog [1] = Cat )
[c] = Cow
)