美文网首页
array_merge和+的区别

array_merge和+的区别

作者: lookphp | 来源:发表于2019-08-15 18:34 被阅读0次

当键名相同时

  • 键名类型为字符串时,array_merge后面的值会把前面的值覆盖掉

  • 键名类型为数字时,array_merge不会覆盖

  • +号,不管键名类型为字符串或数字,当键名相同时,前面的值逗号把后面的值覆盖掉

<?php
//键值类型为字符串,且键名相同
$arr1 = array('a'=>'PHP');
$arr2 = array('a'=>'Python');

//array_merge 中,后面的值会把前面的覆盖掉,Array([a] => Python)
print_r(array_merge($arr1,$arr2));

//+最先出现的值作为结果,后面键名相同的会被抛弃
print_r(($arr1+$arr2));

echo PHP_EOL,'=========================',PHP_EOL;

$arr3 = array('JAVA','PHP');
$arr4 = array('PYTHON','PHP');

$ret = array_merge($arr3,$arr4);
print_r($ret);

print_r($arr3+$arr4);
echo PHP_EOL,'=========================',PHP_EOL;

$arr5 = array(1=>'1',2=>'2');
$arr6 = array(1=>'1',2=>'3',8=>'2');

print_r($arr5+$arr6);
echo PHP_EOL,'=========================',PHP_EOL;

$arr7 = array("a"=>"PHP","C");
$arr8 = array("a"=>"JAVA","C","PYTHON");

print_r(array_merge_recursive($arr7,$arr8));

Array
(
    [a] => Python
)
Array
(
    [a] => PHP
)

=========================
Array
(
    [0] => JAVA
    [1] => PHP
    [2] => PYTHON
    [3] => PHP
)
Array
(
    [0] => JAVA
    [1] => PHP
)

=========================
Array
(
    [1] => 1
    [2] => 2
    [8] => 2
)

=========================
Array
(
    [a] => Array
        (
            [0] => PHP
            [1] => JAVA
        )

    [0] => C
    [1] => C
    [2] => PYTHON
)

参考文档:
https://www.cnblogs.com/phpper/p/9144125.html

相关文章

网友评论

      本文标题:array_merge和+的区别

      本文链接:https://www.haomeiwen.com/subject/wrltsctx.html