将所有具有相同值的数组合并到一个数组中

时间:2019-06-25 08:06:42

标签: php arrays

我有一个大数组,里面有小数组。

它看起来像这样:

https://my site.com

我的目标是将[1]处具有相同值的所有数组合并为一个。

在我的代码中,您可以看到第二个和第三个数组在索引1处包含相同的值。在这种情况下,我想将它们合并为一个数组。  这可能吗?

1 个答案:

答案 0 :(得分:1)

您需要合并相同的项目数据,因此请为此申请foreach():

$finalArray = [];

foreach($array as $arr){
    $project = $arr[1];
    unset($arr[1]);
    foreach($arr as $a){
        $finalArray[$project][] = $a;
    }
}

print_r($finalArray);

输出:-{https://3v4l.org/u6rRU

如果要从中删除空值:-

$finalArray =array_map('array_filter',$finalArray);

输出:-{https://3v4l.org/Cpi0W

如果要重新索引子数组:

$finalArray = array_map('array_values',array_map('array_filter',$finalArray));

输出:-https://3v4l.org/sNgGU