您的位置:首页 > 编程语言 > PHP开发

PHP 数组相加和array_merge的区别

2015-01-23 17:07 513 查看
PHP数组处理强大的功能导致了各种数据处理函数。

其中数组相加以及array_merge让笔者踩了个小坑。

一、请看demo1:

public function action_test54(){
$a = array(
'0'=>1567,
'1'=>1568,
'2'=>1569,
'3'=>1570,
);
$b = array(
'1'=>1571,
'2'=>1572,
'3'=>1573,
'4'=>1574
);
d($a + $b);
dd(array_merge($a,$b));

}


demo1输出:

array(5) (
0 => integer 1567
1 => integer 1568
2 => integer 1569
3 => integer 1570
4 => integer 1574
)

array(8) (
0 => integer 1567
1 => integer 1568
2 => integer 1569
3 => integer 1570
4 => integer 1571
5 => integer 1572
6 => integer 1573
7 => integer 1574
)


结论:

$a + $b 增量覆盖

array_merge($a,$b) 合并

二、Demo2

public function action_test54(){
$a = array(
'a'=>1567,
'b'=>1568,
'c'=>1569,
'd'=>1570,
);
$b = array(
'b'=>1571,
'c'=>1572,
'd'=>1573,
'e'=>1574
);
d($a + $b);
dd(array_merge($a,$b));

}


Demo2输出:

array(5) (
"a" => integer 1567
"b" => integer 1568
"c" => integer 1569
"d" => integer 1570
"e" => integer 1574
)

array(5) (
"a" => integer 1567
"b" => integer 1571
"c" => integer 1572
"d" => integer 1573
"e" => integer 1574
)


结论:

$a + $b 增量覆盖

array_merger($a,$b) $b优先替换掉$a
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: