php中用加号与用array_merge合并数组的区别深入分析

前端之家收集整理的这篇文章主要介绍了php中用加号与用array_merge合并数组的区别深入分析前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我们首先给出两个数组
<div class="codetitle"><a style="CURSOR: pointer" data="80328" class="copybut" id="copybut80328" onclick="doCopy('code80328')"> 代码如下:

<div class="codebody" id="code80328">
<?PHP
$r = array(1,2,3,4,5,6);
$e = array(7,8,9,10);
?>

下面我们用array_merge和加号来何必这两数组
<div class="codetitle"><a style="CURSOR: pointer" data="72042" class="copybut" id="copybut72042" onclick="doCopy('code72042')"> 代码如下:
<div class="codebody" id="code72042">
<?PHP
print_r($r+e); // 输出<span style="font-family: Simsun;font-size:16px; ">Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )
print "
";
print_r(array_merge($r,$e)); // 输出<span style="font-family: Simsun;font-size:16px; ">Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 )
?>

从这里可以看出,用array_merge合并数组一个数组中的值附加在前一个数组的后面。返回作为结果的数组如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。 然而用加号来合并数组如果键名相同,则取最先出现的数组值,后面的就直接忽略掉
下面我们来改变下前面给出的数组
<div class="codetitle"><a style="CURSOR: pointer" data="50015" class="copybut" id="copybut50015" onclick="doCopy('code50015')"> 代码如下:
<div class="codebody" id="code50015">
<?PHP
$r = array('r'=>1,6);
$e = array(<span style="background-color: rgb(245,250,255); ">'r'=>7,10);
?>

<div class="codetitle"><a style="CURSOR: pointer" data="89536" class="copybut" id="copybut89536" onclick="doCopy('code89536')"> 代码如下:
<div class="codebody" id="code89536">
<?PHP
print_r($r+e); // 输出Array ( [r] => 1 [0] => 2 [1] => 3 [2] => 4 [3] => 5 [4] => 6 )
print "
";
print_r(array_merge($r,$e)); // 输出Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 )
?>

从这里可以看出,用array_merge合并数组一个数组中的值附加在前一个数组的后面。如果非数字键名相同,则后面数组的值会覆盖前面数组的值。 然而用加号来合并数组如果键名相同,则取最先出现的数组值,后面的就直接忽略掉

php合并数组

猜你在找的PHP相关文章