最新公告
  • 欢迎您光临立业阁,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 【PHP学习】多种方法实现合并数组_php教程


    本文主要内容是在PHP中实现数组合并的多种方法,具有一定的参考价值,感兴趣的朋友可以了解一下。

    1.arrary_merge

    示例代码:

    $arr1 = array(1, 2, 3, 4, 5);
    $arr2 = array(1, 2, 6, 7, 8, 9, 10);
    $result1 = array_merge($arr1, $arr2);
    
    $arr3 = array("name" => "itbsl", "age" => 13, "sex" => "Male");
    $arr4 = array("name" => "火龙果", "age" => 13, "sex" => "Male");
    $result2 = array_merge($arr3, $arr4);
    
    echo "<pre>";
    var_dump($result1);
    var_dump($result2);

    运行上面的代码,输出结果如下图所示:

    普通数组合并时,会把第二个数组放到第一个数组后面,拼接后返回。
    但是对于键值对的数组来说,如果有相同的键,那么第二个数组会覆盖第一个数组相同的键所对应的值。

    2.通过+合并

    示例代码:

    $arr1 = array(1, 2, 3, 4, 5);
    $arr2 = array(1, 2, 6, 7, 8, 9, 10);
    $result1 = $arr1 + $arr2;
    
    $arr3 = array("name" => "itbsl", "age" => 13, "sex" => "Male");
    $arr4 = array("name" => "火龙果", "age" => 13, "sex" => "Male", "id" => "411521");
    $result2 = $arr3 + $arr4;
    
    echo "<pre>";
    var_dump($result1);
    var_dump($result2);

    运行上面的代码,输出结果如下图所示:

    可以看到,对于用"+"来合并两个数组而言,无论是普通数组还是键值对型数组,只要下标相同或者键相同,都是前者覆盖后者。这一点需要注意。

    3.连接两个数组

    array_combine()函数会得到一个新数组,它由一组提交的键和对应的值组成。
    示例代码:

    $arr1 = array("A","B","C","D"); 
    $arr2 = array("paul","itbsl","Golang","PHP"); 
    $result = array_combine($arr1,$arr2); 
    echo '<pre>';
    var_dump($result);

    运行上面的代码,输出结果如下图所示:


    注意:如果需要合并数组成为上面的形式,那么合并的两个数组的长度必须相等,也就是count($arr1) == count($arr2),并且不能为空

    4.递归追加数组

    array_merge_recursive()函数与array_merge()相同,可以将两个或多个数组合并在一起,形成一个联合的数组.两者之间的区别在于,当某个输入数组中的某个键己经存在于结果数组中时该函数会采取不同的处理方式.array_merge()会覆盖前面存在的键/值对,替换为当前输入数组中的键/值对,而array_merge_recursive()将把两个值合并在一起,形成一个新的数组,并以原有的键作为数组名。
    示例代码:

    $arr3 = array("name" => "itbsl", "age" => 13, "sex" => "Male");
    $arr4 = array("name" => "火龙果", "age" => 13, "sex" => "Male");
    $result2 = array_merge_recursive($arr3, $arr4);
    
    echo "<pre>";
    var_dump($result2);

    运行上面的代码,输出结果如下图所示:

    相关教程:PHP视频教程

    以上就是【PHP学习】多种方法实现合并数组的详细内容,更多请关注liyege.cn其它相关文章!

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    • 1170会员总数(位)
    • 111858资源总数(个)
    • 2本周发布(个)
    • 0 今日发布(个)
    • 244稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情
    冀ICP备19022365号-1 百度地图

    [email protected]

    立业阁(www.liyege.cn)免费提供wordpress主题模板、dedecms模板、帝国cms模板、小说网站源码、电影网站源码以及网络技术分享,建站源码,小说模板,电影模板,网赚教程,VPS推荐