'Combine two arrays with same size, different indexes php arrays

I'm stuck, I have two arrays with the same size, but with different indices, something like this:

Array 1:

array (size=47)
  2 => 
    array (size=5)
      0 => int 130
      1 => int 28
      2 => int 1
      3 => int 1
      4 => int 6
  3 => 
    array (size=5)
      0 => int 52
      1 => int 2
      2 => int 3
      3 => int 3
      4 => int 27
  4 => 
    array (size=5)
      0 => int 85
      1 => int 10
      2 => int 5
      3 => int 3
      4 => int 39
  5 => 
    array (size=5)
      0 => int 94
      1 => int 5
      2 => int 4
      3 => int 2
      4 => int 16
  6 => 
    array (size=5)
      0 => int 41
      1 => int 1
      2 => int 0
      3 => int 4
      4 => int 21
  7 => 
    array (size=5)
      0 => int 127
      1 => int 6
      2 => int 8
      3 => int 16
      4 => int 39
  8 => 
    array (size=5)
      0 => int 118
      1 => int 3
      2 => int 5
      3 => int 1
      4 => int 2
  9 => 
    array (size=5)
      0 => int 35
      1 => int 1
      2 => int 2
      3 => int 0
      4 => int 1
  10 => 
    array (size=5)
      0 => int 76
      1 => int 8
      2 => int 11
      3 => int 6
      4 => int 45
  11 => 
    array (size=5)
      0 => int 65
      1 => int 17
      2 => int 16
      3 => int 13
      4 => int 59
  13 => 
    array (size=5)
      0 => int 41
      1 => int 20
      2 => int 27
      3 => int 13
      4 => int 37
  14 => 
    array (size=5)
      0 => int 111
      1 => int 7
      2 => int 4
      3 => int 6
      4 => int 28
  15 => 
    array (size=5)
      0 => int 23
      1 => int 3
      2 => int 2
      3 => int 3
      4 => int 9
  16 => 
    array (size=5)
      0 => int 22
      1 => int 5
      2 => int 5
      3 => int 5
      4 => int 18
  17 => 
    array (size=5)
      0 => int 185
      1 => int 98
      2 => int 13
      3 => int 5
      4 => int 5
  19 => 
    array (size=5)
      0 => int 1
      1 => int 1
      2 => int 0
      3 => int 0
      4 => int 7
  20 => 
    array (size=5)
      0 => int 150
      1 => int 11
      2 => int 2
      3 => int 1
      4 => int 56
  21 => 
    array (size=5)
      0 => int 191
      1 => int 6
      2 => int 9
      3 => int 16
      4 => int 62
  22 => 
    array (size=5)
      0 => int 18
      1 => int 3
      2 => int 1
      3 => int 0
      4 => int 1
  23 => 
    array (size=5)
      0 => int 24
      1 => int 0
      2 => int 0
      3 => int 2
      4 => int 5
  25 => 
    array (size=5)
      0 => int 1
      1 => int 0
      2 => int 0
      3 => int 0
      4 => int 1
  27 => 
    array (size=5)
      0 => int 17
      1 => int 2
      2 => int 1
      3 => int 1
      4 => int 5
  28 => 
    array (size=5)
      0 => int 21
      1 => int 5
      2 => int 0
      3 => int 1
      4 => int 2
  29 => 
    array (size=5)
      0 => int 15
      1 => int 3
      2 => int 3
      3 => int 4
      4 => int 40
  30 => 
    array (size=5)
      0 => int 20
      1 => int 2
      2 => int 6
      3 => int 5
      4 => int 14
  31 => 
    array (size=5)
      0 => int 6
      1 => int 0
      2 => int 1
      3 => int 0
      4 => int 10
  32 => 
    array (size=5)
      0 => int 26
      1 => int 8
      2 => int 10
      3 => int 4
      4 => int 8
  33 => 
    array (size=5)
      0 => int 7
      1 => int 1
      2 => int 0
      3 => int 1
      4 => int 18
  35 => 
    array (size=5)
      0 => int 5
      1 => int 3
      2 => int 1
      3 => int 0
      4 => int 1
  36 => 
    array (size=5)
      0 => int 6
      1 => int 0
      2 => int 1
      3 => int 0
      4 => int 4
  37 => 
    array (size=5)
      0 => int 36
      1 => int 3
      2 => int 2
      3 => int 0
      4 => int 0
  38 => 
    array (size=5)
      0 => int 25
      1 => int 7
      2 => int 0
      3 => int 1
      4 => int 9
  39 => 
    array (size=5)
      0 => int 12
      1 => int 1
      2 => int 1
      3 => int 0
      4 => int 12
  41 => 
    array (size=5)
      0 => int 82
      1 => int 6
      2 => int 1
      3 => int 1
      4 => int 11
  44 => 
    array (size=5)
      0 => int 13
      1 => int 10
      2 => int 19
      3 => int 14
      4 => int 16
  45 => 
    array (size=5)
      0 => int 24
      1 => int 1
      2 => int 2
      3 => int 3
      4 => int 4
  46 => 
    array (size=5)
      0 => int 9
      1 => int 2
      2 => int 0
      3 => int 1
      4 => int 1
  49 => 
    array (size=5)
      0 => int 45
      1 => int 10
      2 => int 15
      3 => int 15
      4 => int 57
  50 => 
    array (size=5)
      0 => int 8
      1 => int 2
      2 => int 2
      3 => int 2
      4 => int 12
  52 => 
    array (size=5)
      0 => int 68
      1 => int 5
      2 => int 2
      3 => int 4
      4 => int 16
  54 => 
    array (size=5)
      0 => int 11
      1 => int 4
      2 => int 0
      3 => int 1
      4 => int 6
  55 => 
    array (size=5)
      0 => int 1
      1 => int 0
      2 => int 0
      3 => int 0
      4 => int 3
  56 => 
    array (size=5)
      0 => int 35
      1 => int 0
      2 => int 0
      3 => int 1
      4 => int 4
  57 => 
    array (size=5)
      0 => int 21
      1 => int 1
      2 => int 2
      3 => int 0
      4 => int 1
  58 => 
    array (size=5)
      0 => int 2
      1 => int 1
      2 => int 1
      3 => int 1
      4 => int 11
  60 => 
    array (size=5)
      0 => int 100
      1 => int 12
      2 => int 2
      3 => int 0
      4 => int 5
  61 => 
    array (size=5)
      0 => int 75
      1 => int 6
      2 => int 12
      3 => int 19
      4 => int 35

Array2:

array (size=47)
  0 => float 5
  1 => float 38
  2 => float 33
  3 => float 18
  4 => float 37
  5 => float 32
  6 => float 6
  7 => float 8
  8 => float 42
  9 => float 52
  10 => float 56
  11 => float 24
  12 => float 35
  13 => float 51
  14 => float 8
  15 => float 78
  16 => float 27
  17 => float 31
  18 => float 9
  19 => float 23
  20 => float 50
  21 => float 27
  22 => float 10
  23 => float 72
  24 => float 53
  25 => float 65
  26 => float 39
  27 => float 70
  28 => float 20
  29 => float 45
  30 => float 5
  31 => float 24
  32 => float 50
  33 => float 13
  34 => float 68
  35 => float 26
  36 => float 15
  37 => float 61
  38 => float 62
  39 => float 23
  40 => float 32
  41 => float 75
  42 => float 13
  43 => float 12
  44 => float 81
  45 => float 6
  46 => float 45

As it should be: I would like to keep the same indices of array 1, however it is not mandatory.

array (size=47)
      2 => 
        array (size=6)
          0 => int 130
          1 => int 28
          2 => int 1
          3 => int 1
          4 => int 6
          5 => float 5
      3 => 
        array (size=6)
          0 => int 52
          1 => int 2
          2 => int 3
          3 => int 3
          4 => int 27
          5 => float 38
      4 => 
        array (size=6)
          0 => int 85
          1 => int 10
          2 => int 5
          3 => int 3
          4 => int 39
          5 => float 33
      5 => 
        array (size=6)
          0 => int 94
          1 => int 5
          2 => int 4
          3 => int 2
          4 => int 16
          5 => float 18
      6 => 
        array (size=6)
          0 => int 41
          1 => int 1
          2 => int 0
          3 => int 4
          4 => int 21
          5 => float 37
      7 => 
        array (size=6)
          0 => int 127
          1 => int 6
          2 => int 8
          3 => int 16
          4 => int 39
          5 => float 32
      8 => 
        array (size=6)
          0 => int 118
          1 => int 3
          2 => int 5
          3 => int 1
          4 => int 2
          5 => float 6
      9 => 
        array (size=6)
          0 => int 35
          1 => int 1
          2 => int 2
          3 => int 0
          4 => int 1
          5 => float 8

I have tried these methods, but none of them work as they are different indicex

    $final = [];
    foreach ($array1 as $idx => $val) {
      $final = [$val, $array2[$idx]];
    }

Another:

foreach ($array1 as $index => $subArray) {
         $array1 [$index][] = $array2[$index];
      }

Does anyone know any better?

NOTE: Only in array2 they are from 0 to 46 indices, but in array1 it starts from 2 to 11, then 13 to 17, 19 to 23, then 25, then 27 to 33, 35 to 39, then 41 appears alone, to start from 44 to 46, in conclusion it has no even order, odd order, nothing, it is random.

NOTE 2: In other words, it would look like this: At the first index of the first array insert the first index of the second array. At the second index of the first array insert the second index of the second array. INDEPENDENTLY OF THE NUMBER you have as index for the second array



Solution 1:[1]

An example using foreach

<?php

$a = [
    2 => [130, 28, 1, 1, 6],
    3 => [52, 2, 3, 3, 27]
];

$b = [5, 38];

$output = [];
$idx = 0;
foreach ($a as $key => $value) {
    $value[] = $b[$idx];
    $output[$key] = $value;
    ++$idx;
}

print_r($output);

Sandbox HERE

Solution 2:[2]

You can loop $array1 using the foreach for the key $index and then add the item from $array2 where the keys start from 0.

You can check for the key first using array_key_exists just in case the number of items of $array2 is less than $array1

$array1 = [
    2 => [130, 28, 1, 1, 6],
    3 => [52, 2, 3, 3, 27],
    13 => [1, 2, 3, 4, 5]
];
$array2 = [5, 38, 99, 100];
$counter = 0;
foreach ($array1 as $index => $subArray) {
    if (array_key_exists($counter, $array2)) {
        $array1[$index][] = $array2[$counter];
    }
    $counter++;
}

print_r($array1);

Output

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

    [3] => Array
        (
            [0] => 52
            [1] => 2
            [2] => 3
            [3] => 3
            [4] => 27
            [5] => 38
        )

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

)

See a PHP demo.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 ikhvjs
Solution 2