zoukankan      html  css  js  c++  java
  • PHP中数组合并的两种方法及区别介绍

    PHP数组合并两种方法及区别
    如果是关联数组,如下:

    复制代码 代码如下:

    $a = array(
    'where' => 'uid=1',
    'order' => 'uid',
    );
    $b = array(
    'where' => 'uid=2',
    'order' => 'uid desc',
    );



    1. array_merge,如果两个数组存在相同的key,后面的一个会覆盖前面的

    复制代码 代码如下:

    <?php
    $c = array_merge($a, $b);
    var_export($c);//结果与原来的$b相同
    $d = array_merge($b, $a);
    var_export($d);//结果与原来的$a相同


    2. "+"操作符,如果两个数组存在相同的key,前面的一个会覆盖后面的

    复制代码 代码如下:

    <?php
    $c = $a + $b;
    var_export($c);//结果与原来的$a相同
    $d = $b + $a;
    var_export($d);//结果与原来的$b相同



    如果是数字索引数组,如下:

    复制代码 代码如下:

    $a = array(
    1 => '1111111',
    2 => '222222222'
    );
    $b = array(
    4 => '33333333333',
    1 => '444444444'
    );


    1. array_merge. 效果类似代码foreach每个数组元素,然后将每个元素压入一个新堆栈当中

    复制代码 代码如下:

    <?php
    $c = array_merge($a, $b);
    var_export($c);
    $d = array_merge($b, $a);
    var_export($d);


    输出:
    array (
    0 => '1111111',
    1 => '222222222',
    2 => '33333333333',
    3 => '444444444',
    )
    array (
    0 => '33333333333',
    1 => '444444444',
    2 => '1111111',
    3 => '222222222',
    )
    2. "+"操作符. 效果类似代码foreach每个数组元素,然后将每个元素压入一个新堆栈当中,如果同样的key已经存在则不处理

    复制代码 代码如下:

    <?php
    $c = $a + $b;
    var_export($c);
    $d = $b + $a;
    var_export($d);


    输出:
    array (
    1 => '1111111',
    2 => '222222222',
    4 => '33333333333',
    )
    array (
    4 => '33333333333',
    1 => '444444444',
    2 => '222222222',
    )

  • 相关阅读:
    python多进程(一)
    python操作memcached
    python操作redis
    SQLAlchemy总结
    SQLAlchemy-ORM
    python操作mysql二
    python操作mysql
    python正则二
    python正则
    python内置模块(三)
  • 原文地址:https://www.cnblogs.com/mafeng/p/5638339.html
Copyright © 2011-2022 走看看