• 深入解析array_merge函数的用法 php (转)


    array_merge是我们用来合并数组使用最多的函数; 
    下面就来深入解析array_merge的用法; 
    第四点是个坑需注意; 
    1:如果数组中有相同的字符串键名; 
    则该键名后面的值覆盖前面的值; 
    如果想让前面的值覆盖后面; 
    则可以使用+号;

     1 $a=array(
     2     'a'=>'first a',
     3     'b'=>'b'
     4     );
     5 $b=array(
     6     'c'=>'c',
     7     'a'=>'second a'
     8     );
     9 $result=array_merge($a,$b);
    10 var_dump($result);
    11 $result=$a+$b;
    12 var_dump($result);

    使用 array_merge 保留了second a 输出如下

    1 Array
    2 (
    3     [a] => second a
    4     [b] => b
    5     [c] => c
    6 )

    使用+号 则保留了first_a 输出如下

     1 $a=array(
     2     0=>'zero_a', 
     3     2=>'two_a', 
     4     3=>'three_a'
     5     );
     6 $b=array(
     7     1=>'one_b', 
     8     3=>'three_b', 
     9     4=>'four_b'
    10     );
    11 $result=array_merge($a,$b);
    12 var_dump($result);

    输出如下

    1 Array
    2 (
    3     [0] => zero_a
    4     [1] => two_a
    5     [2] => three_a
    6     [3] => one_b
    7     [4] => three_b
    8     [5] => four_b
    9 )

    3:如果只传入一个数组;并且键名是数字;则格式化键名;

    1 $a=array(
    2     1=>1,
    3     3=>3,
    4     6=>6
    5     );
    6 $result=array_merge($a);
    7 var_dump($result);

    输出如下

    1 Array
    2 (
    3     [0] => 1
    4     [1] => 3
    5     [2] => 6
    6 )

    4:如果传的参数中有一个不是数组 
    则返回null 
    此处需要注意 
    在开发过程中 
    我们可能需要把两次查询的数据合并成一个数组 
    如果有一个查询为空 
    那么使用array_merge函数合并的结果就是null; 
    我曾多次被null所坑而写此篇博客重要的原因也是因为此;

    1 $a=array(
    2     1=>1,
    3     6=>6
    4     );
    5 $b='';
    6 $result=array_merge($a,$b);
    7 var_dump($result);

    输出如下

    1 null

    因此;在不确定需要array_merge的数组是否有空值的时候;直接使用(array)强制转数组;上面的代码就可以改成如下形式

    1 $result=array_merge((array)$a,(array)$b);

    本文为白俊遥原创文章,转载无需和我联系,但请注明来自白俊遥博客http://baijunyao.com

  • 相关阅读:
    数据分析只能当一辈子取数机?可能你缺少这个基础思维
    Funnel:漏斗图
    Calendar:日历图
    【自考】数据结构第五章图,期末不挂科指南,第9篇
    机器学习——TensorFlow Mnist数据集入门
    SpringCloud Alibaba微服务实战四
    视觉映射配置项VisualMapOpts
    chrome使用技巧(看了定不让你失望)
    chrome使用技巧(看了定不让你失望)
    chrome使用技巧(看了定不让你失望)
  • 原文地址:https://www.cnblogs.com/njflash/p/10236729.html
Copyright © 2020-2023  润新知