I am having 2 arrays and i have to merge that arrays with similar values. i tried for each and basic functions of php for array merging but not getting proper result.
i tried below thing but it wont work for me as i am having multiple data in second array. as you can see in child array i am having multiple records and i want to keep that together inside base array.
    $base= [
        ['id' => 1],
        ['id' => 2],
        ['id' => 3],
        ['id' => 4],
    ];
    
    $child = [
        ['id' => 1, 'size' => 'SM'],
        ['id' => 1, 'size' => 'LK'],
        ['id' => 2, 'size' => 'XL'],
        ['id' => 4, 'size' => 'LG'],
        ['id' => 3, 'size' => 'MD'],
    ];  
    
    foreach(array_merge($base, $child) as $el){
        $merged[$el['id']] = ($merged[$el['id']] ?? []) + $el;
    }
    
    Output :
    array (
      1 => 
      array (
        'id' => 1,
        'size' => 'SM',
      ),
      2 => 
      array (
        'id' => 2,
        'size' => 'XL',
      ),
      3 => 
      array (
        'id' => 3,
        'size' => 'MD',
      ),
      4 => 
      array (
        'id' => 4,
        'size' => 'LG',
      ),
    )
desired output :
array (
  1 => 
  array (
    'id' => 1,
    1 => array('size' => 'SM'),
    2 => array('size' => 'LK'),
  ),
  2 => 
  array (
    'id' => 2,
    1 => array('size' => 'XL'),
  ),
  3 => 
  array (
    'id' => 3,
    1 => array('size' => 'MD'),
  ),
  4 => 
  array (
    'id' => 4,
    1 => array('size' => 'LG'),
  ),
)
 
    