【问题标题】:How to merge two array without items that exists in both arrays in PHP?如何在PHP中合并两个数组中不存在两个数组中的项目?
【发布时间】:2019-07-03 03:00:35
【问题描述】:

我有 2 个数组:

$arr_1 = ['1','2','3','4'];

$arr_2 = ['2','5','4','6','7'];

我想合并$arr_1$arr_2,而这两个数组中都不存在项目,例如:

$arr_merged = ['1','3','5','6','7']

我怎么能这样做?我想我必须运行一些 foreach 来循环遍历这些数组并进行处理,但这似乎不是解决这个问题的好方法......

【问题讨论】:

标签: php arrays


【解决方案1】:

为了获取唯一项,array_diff() 函数可用于查找两个数组之间的差异。它计算所有数组的差异并返回所有包含在任何数组中都无法匹配的条目的数组。对于合并两个数组,您可以使用array_merge() 函数。

<?php
    $arr_1 = ['1','2','3','4'];
    $arr_2 = ['2','5','4','6','7'];
    $arr_merged  = array_merge(array_diff($arr_1, $arr_2), array_diff($arr_2, $arr_1));
    print_r($arr_merged);
 ?>

【讨论】:

  • 非常感谢,您的想法节省了我的时间...=D
【解决方案2】:

您使用array_diffarray_merge 来实现输出。

注意:array_diff 在技术上与 array_intersect 并不相反。

   <?php
        $arr_1 = ['1','2','3','4'];
        $arr_2 = ['2','5','4','6','7'];
        $diff_1 = array_diff($arr_1, $arr_2);
        $diff_2 = array_diff($arr_2, $arr_1);
        $array_merge = array_merge($diff_1,$diff_2);
        print_r($array_merge);
    ?>

【讨论】:

    猜你喜欢
    • 2021-12-19
    • 1970-01-01
    • 2011-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多