新聞中心
php 兩個數(shù)組怎么合并成一個
array?array_merge?????(?array?$array1????[,?array?$...???]?)
成都創(chuàng)新互聯(lián)公司是專業(yè)的郊區(qū)網(wǎng)站建設公司,郊區(qū)接單;提供成都網(wǎng)站建設、做網(wǎng)站,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行郊區(qū)網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
array_merge() ?將一個或多個數(shù)組的單元合并起來,一個數(shù)組中的值附加在前一個數(shù)組的后面。返回作為結果的數(shù)組。 ?
如果輸入的數(shù)組中有相同的字符串鍵名,則該鍵名后面的值將覆蓋前一個值。然而,如果數(shù)組包含數(shù)字鍵名,后面的值將不會覆蓋原來的值,而是附加到后面。 ?
如果只給了一個數(shù)組并且該數(shù)組是數(shù)字索引的,則鍵名會以連續(xù)方式重新索引。
如果你想完全保留原有數(shù)組并只想新的數(shù)組附加到后面,用 + 運算符:
?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?);
?
php下將多個數(shù)組合并成一個數(shù)組的方法與實例代碼
1.合并數(shù)組
array_merge()函數(shù)將數(shù)組合并到一起,返回一個聯(lián)合的數(shù)組。所得到的數(shù)組以第一個輸入數(shù)組參數(shù)開始,按后面數(shù)組參數(shù)出現(xiàn)的順序依次迫加。其形式為:
復制代碼
代碼如下:
array
array_merge
(array
array1
array2…,arrayN)
將一個或多個數(shù)組的單元合并起來,一個數(shù)組中的值附加在前一個數(shù)組的后面。返回作為結果的數(shù)組。
如果輸入的數(shù)組中有相同的字符串鍵名,則該鍵名后面的值將覆蓋前一個值。然而,如果數(shù)組包含數(shù)字鍵名,后面的值將不會覆蓋原來的值,而是附加到后面。
如果只給了一個數(shù)組并且該數(shù)組是數(shù)字索引的,則鍵名會以連續(xù)方式重新索引。
實例如下:
復制代碼
代碼如下:
$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);
這將返回如下所示的結果,運行代碼:
復制代碼
代碼如下:
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()相同,可以將兩個或多個數(shù)組合并在一起,形成一個聯(lián)合的數(shù)組.兩者之間的區(qū)別在于,當某個輸入數(shù)組中的某個鍵己經(jīng)存在于結果數(shù)組中時該函數(shù)會采取不同的處理方式.a(chǎn)rray_merge()會覆蓋前面存在的鍵/值對,替換為當前輸入數(shù)組中的鍵/值對,而array_merge_recursive()將把兩個值合并在一起,形成一個新的數(shù)組,并以原有的鍵作為數(shù)組名。還有一個數(shù)組合并的形式,就是遞歸追加數(shù)組。其形式為:
view
sourceprint?array
array_merge_recursive(
array
key,array
values
)
示例如下:
復制代碼
代碼如下:
$class1
=
array("John"
=
100,
"James"
=
85);
$class2
=
array("Micky"
=
78,
"John"
=
45);
$classScores
=
array_merge_recursive($class1,
$class2);
print_r($classScores);
這將返回如下結果:
view
sourceprint?Array
(
[John]
=
Array
(
[0]
=
100
[1]
=
45
)
[James]
=
85
[Micky]
=
78
)
3.連接兩個數(shù)組
array_combine()函數(shù)會得到一個新數(shù)組,它由一組提交的鍵和對應的值組成。其形式為:
view
sourceprint?array
array_merge(array
array1,array
array2[…,array
arrayN])
注意,兩個輸入數(shù)組必須大小相同,不能為空。示例如下:
復制代碼
代碼如下:
$abbreviations
=
array("AL","AK","AZ","AR");
$states
=
array("Alabama","Alaska","Arizona","Arkansas");
$stateMap
=
array_combine($abbreviations,$states);
print_r($stateMap);
這會返回:
復制代碼
代碼如下:
Array
(
[AL]
=
Alabama
[AK]
=
Alaska
[AZ]
=
Arizona
[AR]
=
Arkansas
)
php數(shù)組合并兩個數(shù)組(一個數(shù)組做鍵名,另一個做值) **key名字可以重復
php將兩個鍵名和鍵值的數(shù)組元素合并為一個數(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博客
)
第二個方法:
php將兩個鍵名和鍵值的數(shù)組元素合并為一個數(shù)組
php將兩個鍵名和鍵值的數(shù)組元素合并
如果存在相同的鍵名,則可以這樣來處理,我們參照第一個方法修改一下:
$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合并數(shù)組的幾種方法
PHP 中的 array_merge()、array_merge_recursive()函數(shù)可以實現(xiàn)
array_merge() 函數(shù)把兩個或多個數(shù)組合并為一個數(shù)組。
如果鍵名有重復,該鍵的鍵值為最后一個鍵名對應的值(后面的覆蓋前面的)。如果數(shù)組是數(shù)字索引的,則鍵名會以連續(xù)方式重新索引。
注意:如果僅僅向 array_merge() 函數(shù)輸入了一個數(shù)組,且鍵名是整數(shù),則該函數(shù)將返回帶有整數(shù)鍵名的新數(shù)組,其鍵名以 0 開始進行重新索引。
array_merge(array1,array2,array3...)
參數(shù)說明
array1 必需。輸入的第一個數(shù)組。
array2 必需。輸入的第二個數(shù)組。
array3 可選??芍付ǖ亩鄠€輸入數(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 )
僅使用一個數(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ù)不同的是,當有重復的鍵名時,值不會被覆蓋,而是將多個相同鍵名的值遞歸組成一個數(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
)
文章名稱:php兩個數(shù)據(jù)合并,php兩個數(shù)據(jù)合并到一起
瀏覽地址:http://biofuelwatch.net/article/hdcgig.html