PHP合并数组+号和array_merge的区别

5年以前  |  阅读数:521 次  |  编程语言:PHP 

PHP的数组融合一般有两种做法,一种是直接使用加号相加,另一种则是使用array_merge函数进行相加,两者之间有点区别:

1.相加会证数组中的自然index不被重置
2.相加方法中,被加的数组内的值不会被覆盖
3.merge函数中的自然index会被重置
4.merge函数,无所谓被merge和merge关系,越后面的array参数,其值,会覆盖较前面的array参数相同键的值

例子:

数组1:


    $arr1 = array(
      10 => 'valueof10',
      11 => 'valueof11',
      'key1' => 'dataofkey1',
      'key2' => 'dataofkey2',
      'array' => array(
        'key1' => 1,
        'key2' => 'abc',
        'key3' => array(
          1, 2, 'name' => 'peter'
        ),
      ),
    );

数组2:


    $arr2 = array(
      10 => 'newvalueof10',
      11 => 'newvalueof11',
      'key1' => 'newdataofkey1',
      'key3' => 'newdataofkey3',
      'array' => array(
        'key1' => 2,
        'key2' => 'defg',
        'key3' => array(
          1, 2, 'name' => 'jonathan', 'gender' => 'male'
        ),
      ),
    );

结果比较:


    array (size=6)
     10 => string 'valueof10' (length=9)
     11 => string 'valueof11' (length=9)
     'key1' => string 'dataofkey1' (length=10)
     'key2' => string 'dataofkey2' (length=10)
     'array' => 
      array (size=3)
       'key1' => int 1
       'key2' => string 'abc' (length=3)
       'key3' => 
        array (size=3)
         0 => int 1
         1 => int 2
         'name' => string 'peter' (length=5)
     'key3' => string 'newdataofkey3' (length=13)

    array (size=8)
     0 => string 'valueof10' (length=9)
     1 => string 'valueof11' (length=9)
     'key1' => string 'newdataofkey1' (length=13)
     'key2' => string 'dataofkey2' (length=10)
     'array' => 
      array (size=3)
       'key1' => int 2
       'key2' => string 'defg' (length=4)
       'key3' => 
        array (size=4)
         0 => int 1
         1 => int 2
         'name' => string 'jonathan' (length=8)
         'gender' => string 'male' (length=4)
     2 => string 'newvalueof10' (length=12)
     3 => string 'newvalueof11' (length=12)
     'key3' => string 'newdataofkey3' (length=13)
 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例