网站制作学习网PHP→正文:php相同数据数组合并 array_merge_recursive-php函数
字体:

php相同数据数组合并 array_merge_recursive-php函数

PHP 2012/8/6 18:58:39  点击:不统计

原载于:转www.载for网站制作学习asp必.cn究

昨天是数组合并,今天依旧是数组合并,今天是昨天array_merge的延伸,昨天的如果遇到相同的数据,则出现覆盖情况
本次将的是array_merge_recursive不会覆盖,会形成新的数组。

看语法
$newarray = array_merge_recursive($array1,$array2.....);
英文merge 合并的意思,recursive是递归的意思
特殊的情况与array_merge不同之处说明一下
1.不会覆盖相同的内容,相同的内容会以相同的key存储为数组
2.会递归深层次的数组,在以往的函数中不会递归,该函数是递归的

看例子学习php数组相同数据合并array_merge_recursive
例子1:有索引的数组的合并
<?php
$array = array("forasp"=>".cn","key"=>"1","temp"=>2);
$array1 = array("forasp"=>"www.forasp.cn","key"=>1,"temp"=>3);
$forasp = array_merge_recursive($array,$array1);
print_r($forasp);
?>
结果
Array
(
[forasp] => Array
(
[0] => .cn
[1] => www.forasp.cn
)

[key] => Array
(
[0] => 1
[1] => 1
)

[temp] => Array
(
[0] => 2
[1] => 3
)

)
?>
这里注意一点,进行相同key的合并,可以看出来相同key以及内容形成了数组
例子2 无索引数组与有索引数组
<?php
$array= array("site","域名","www.forasp.cn");
$array1 = array("forasp"=>"www.forasp.cn","key"=>1,"temp"=>3);
$forasp = array_merge_recursive($array,$array1);
print_r($forasp);
?>
输出结果:
Array
(
[0] => site
[1] => 域名
[2] => www.forasp.cn
[forasp] => www.forasp.cn
[key] => 1
[temp] => 3
)
无索引的,看来数组合并array_merge_recursive进行比较了key
例子3 当有一维数组
<?php
$array1= array("site","域名","forasp.cn");
$array2=array("site","forasp.cn");
$forasp = array_merge_recursive($array1,$array2);
print_r($forasp);
?>
输出结果
Array
(
[0] => site
[1] => 域名
[2] => forasp.cn
[3] => site
[4] => forasp.cn
)
看来 array_merge_recursive是针对于有索引数组的,如果无索引同样的value不能形成数组


<网f站o学a习s制p作.cn>

·上一篇:php随机选择数组内容 array_rand-php函数 >>    ·下一篇:不用第三个参数实现数字变量内容交换 >>
推荐文章
最新文章