• array_merge Vs +=


    主要区别是两个或者多个数组中如果出现相同键名,键名分为字符串或者数字,需要注意
    1)键名为数字时,array_merge()不会覆盖掉原来的值,但+合并数组则会把最先出现的值作为最结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(不是覆盖)
    2)键名为字符时,+仍然把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉,但array_merge()此时会覆盖掉前面相同键名的值 

    ---- ----- ---- ---- ----- --- ----- -- ----- ----- --- ---

    说白了 是这样的

    1. 如果没有相同键值的数组元素 array_merge 或者 += 就是合并两个数组元素成一个数组

    2.1 如果是数字键值,那+=会抛弃后面的值 以前面的值为准 array_merge会让数组变得更大 把第二个数组的值附加到第一个数组的后面,即有可能出现一个数组中,有两个相同元素的数组。

    2.2 如果是字符键值,+=仍然是以前面的值为准,后面相同键值的值抛弃,但array_merge会以后面的值为准,直接覆盖前面的值,也就是抛弃前面的值。

    ----
    $arr1 = array(
        'a' => '1',
        'b' => '2',
        'c' => '3',
        'd' => '4',
        '1' => '5',
    );
    $arr2 = array(
        'a' => '8',
        'bb' => '2',
        'cc' => '3',
        'd' => '4',
        '1' => '63',
    );

    echo '<pre>';
    var_dump(array_merge($arr1, $arr2));
    echo '</pre>';

    array + 就是以前面的为准
    array_merge 就是后面的覆盖前面的 (字符下标)
    附加到后面(数字下标)

     

  • 相关阅读:
    最大流算法FordFulkson方法的基本思想与EdmondKarp算法
    nefu 474 The Perfect StallHal Burch 二分图最大匹配
    NEFU 485 分配问题
    jQuery插件tablesorter
    flashplayer
    个人薪酬查询
    Shockwave
    phpwind安装
    aspx特殊符号说明
    uploadfy火狐兼容性问题
  • 原文地址:https://www.cnblogs.com/qinqiu/p/4512417.html
Copyright © 2020-2023  润新知