Php 如果密钥相同,如何组合两个数组并将其分块

Php 如果密钥相同,如何组合两个数组并将其分块,php,arrays,Php,Arrays,我正在用laravel构建一个应用程序,我有一个问题,我在php中有两个数组: Array1 ( [0] => 15 [1] => 15 [2] => 16 [3] => 16 [4] => 17 [5] => 17 [6] => 17 [7] => 17 ) Array2 ( [0] => 0 [1] => 1 [2] => 1 [

我正在用laravel构建一个应用程序,我有一个问题,我在php中有两个数组:

Array1
(
    [0] => 15
    [1] => 15
    [2] => 16
    [3] => 16
    [4] => 17
    [5] => 17
    [6] => 17
    [7] => 17
)

Array2
(
    [0] => 0
    [1] => 1
    [2] => 1
    [3] => 2
    [4] => 0
    [5] => 1
    [6] => 2
    [7] => 3
)
在这种情况下,我不能使用array_chunk,因为array2的值是dinamic,如果我组合它,array1的键必须不相同,因此,我如何组合它,使其如下所示:

Array
(
    [15] => Array
        (
            [0] => 0
            [1] => 1
        )

    [16] => Array
        (
            [0] => 1
            [1] => 2
        )

    [17] => Array
        (
            [0] => 0
            [1] => 1
            [2] => 2
            [3] => 3
        )

)
Array
(
    [15] => Array
        (
            [0] => 0
            [1] => 1
        )

    [16] => Array
        (
            [0] => 1
            [1] => 2
        )

    [17] => Array
        (
            [0] => 0
            [1] => 1
            [2] => 2
            [3] => 3
        )
)

简单的
foreach
循环:

$arr1 = [15,15,16,16,17,17,17,17];
$arr2 = [0,1,1,2,0,1,2,3];

$result = [];
foreach($arr1 as $k => $v){
    $result[$v][] = $arr2[$k]; 
}

print_r($result);
输出:


我同意了@AlivetoDie@Virb对不起,我不能那样做。我得到了它。两个数组索引必须相同
$array1 = 
[
    0 => 15,
    1 => 15,
    2 => 16,
    3 => 16,
    4 => 17,
    5 => 17,
    6 => 17,
    7 => 17,
];

$array2 = 
[
    0 => 0,
    1 => 1,
    2 => 1,
    3 => 2,
    4 => 0,
    5 => 1,
    6 => 2,
    7 => 3,
];


$arr = array_unique($array1);
print_r($arr);
$newarray = [];
foreach($arr as $ar){
    foreach($array1 as $key => $value){
       if($ar == $value){
         $newarray[$value][] =$array2[$key];   
       } 
    }
}

print_r($newarray);