php有數(shù)組合并函數(shù),挺好用的,數(shù)組合并函數(shù)為array_merge
看語(yǔ)法
$newarray = array_merge($array1,$array2.....);
英文merge 合并的意思。
說(shuō)明一下
1.數(shù)組合并的參數(shù)$array1 ...可以是一個(gè),可以是多個(gè),如果是一個(gè)數(shù)組則是要重新排序,如果是數(shù)字索引將從0到n重新排列
如果是key索引,則有重復(fù)采用2覆蓋
如果是多個(gè)數(shù)組則表示合并
2.對(duì)于相同的key值,最后的value值將覆蓋前面的value
3.如果想保存原來(lái)的索引,采用加法的形式傳遞數(shù)組即可。$newarr=$oldarr1+$oldarr2;
需要注意的一點(diǎn):
看例子學(xué)習(xí)php數(shù)組差異比較array_diff
例子1:有索引的數(shù)組的合并
<?php
$array = array("forasp"=>".cn","key"=>"1","temp"=>2);
$array1 = array("forasp"=>"www.forasp.cn","key"=>1,"temp"=>3);
$forasp = array_merge($array,$array1);
print_r($forasp);
?>
輸出結(jié)果
Array
Array
(
[forasp] => www.forasp.cn
[key] => 1
[temp] => 3
)
這里注意一點(diǎn),進(jìn)行相同key的合并
例子2 無(wú)索引數(shù)組
<?php
$old1forasp = array("site","域名","www.forasp.cn");
$arrayforasp = array("site","forasp.cn",);
$forasp = array_merge($old1forasp,$arrayforasp);
print_r($forasp);
?>
輸出結(jié)果:
Array
(
[0] => site
[1] => 域名
[2] => www.forasp.cn
[3] => site
[4] => forasp.cn
)
無(wú)索引的,將value逐個(gè)列出,并進(jìn)行數(shù)字索引
例子3 當(dāng)有二維數(shù)組合并,看其返回值
<?php
$oldforasp = array("site","域名","forasp.cn");
$array = array();
$arrayforasp1=array("site",$oldforasp);
$arrayforasp2=array("域名",$array);
$forasp = array_merge($arrayforasp1,$arrayforasp2);
print_r($forasp);
?>
輸出結(jié)果
Array
(
[0] => site
[1] => Array
(
[0] => site
[1] => 域名
[2] => forasp.cn
)
[2] => 域名
[3] => Array
(
)
)
<?php
$oldforasp = array("site","域名","forasp.cn");
$array = array();
$arrayforasp1=array("site",$oldforasp);
$arrayforasp2=array("域名",$array);
$forasp = array_merge($arrayforasp1,$arrayforasp2);
print_r($forasp);
?>
二維數(shù)組中,如果數(shù)組不同,則不合并,就算數(shù)組中的值相同也不合并
例子3 看跳索引合并
<?php
$arr = array(1=>"a",3=>"b");
$temp = array_merge($arr);
print_r($temp);
?>
結(jié)果
Array
(
[0] => a
[1] => b
)
數(shù)字索引重新排列。
這就是數(shù)組合并。
例子4 在看一下+ 的效果
<?php
$arr = array(1=>"a",3=>"b");
$arr1 = array(2=>"c");
$new = $arr+$arr1;
print_r($arr);
?>
結(jié)果
Array
(
[1] => a
[3] => b
[2] => c
)
位置是順序的,但是索引還是原來(lái)的~
更多信息請(qǐng)查看IT技術(shù)專欄