昨天是數(shù)組合并,今天依舊是數(shù)組合并,今天是昨天array_merge的延伸,昨天的如果遇到相同的數(shù)據,則出現(xiàn)覆蓋情況
本次將的是array_merge_recursive不會覆蓋,會形成新的數(shù)組。
看語法
$newarray = array_merge_recursive($array1,$array2.....);
英文merge 合并的意思,recursive是遞歸的意思
特殊的情況與array_merge不同之處說明一下
1.不會覆蓋相同的內容,相同的內容會以相同的key存儲為數(shù)組
2.會遞歸深層次的數(shù)組,在以往的函數(shù)中不會遞歸,該函數(shù)是遞歸的
看例子學習php數(shù)組相同數(shù)據合并array_merge_recursive
例子1:有索引的數(shù)組的合并
<?php
$array = array(forasp=>.cn,key=>1,temp=>2);
$array1 = array(forasp=>www.anypoetry.com,key=>1,temp=>3);
$forasp = array_merge_recursive($array,$array1);
print_r($forasp);
?>
結果
array
(
[forasp] => array
(
[0] => .cn
[1] => www.anypoetry.com
)
[key] => array
(
[0] => 1
[1] => 1
)
[temp] => array
(
[0] => 2
[1] => 3
)
)
?>
這里注意一點,進行相同key的合并,可以看出來相同key以及內容形成了數(shù)組
例子2 無索引數(shù)組與有索引數(shù)組
<?php
$array= array(site,域名,www.anypoetry.com);
$array1 = array(forasp=>www.anypoetry.com,key=>1,temp=>3);
$forasp = array_merge_recursive($array,$array1);
print_r($forasp);
?>
輸出結果:
array
(
[0] => site
[1] => 域名
[2] => www.anypoetry.com
[forasp] => www.anypoetry.com
[key] => 1
[temp] => 3
)
無索引的,看來數(shù)組合并array_merge_recursive進行比較了key
例子3 當有一維數(shù)組
<?php
$array1= array(site,域名,anypoetry.com);
$array2=array(site,anypoetry.com);
$forasp = array_merge_recursive($array1,$array2);
print_r($forasp);
?>
輸出結果
array
(
[0] => site
[1] => 域名
[2] => anypoetry.com
[3] => site
[4] => anypoetry.com
)
看來 array_merge_recursive是針對于有索引數(shù)組的,如果無索引同樣的value不能形成數(shù)組
更多信息請查看IT技術專欄