0

I have this array, output from database, I fetch it with FETH_GROUP | FETCH_ASSOC to make output value based on unique ID:

  array (size=440)

  'P9-6/01/2018/091443/0001' => 
    array (size=2)
      0 => 
        array (size=1)
          'Bid' => string 'Dagadu Bocah' (length=12)
      1 => 
        array (size=1)
          'Bid' => string 'Dagadu Bocah' (length=12)
  'P7-6/01/2018/091815/0001' => 
    array (size=2)
      0 => 
        array (size=1)
          'Bid' => string 'HirukPikuk' (length=10)
      1 => 
        array (size=1)
          'Bid' => string 'Dagadu' (length=6)
  'P7-6/01/2018/092430/0002' => 
    array (size=4)
      0 => 
        array (size=1)
          'Bid' => string 'HirukPikuk' (length=10)
      1 => 
        array (size=1)
          'Bid' => string 'HirukPikuk' (length=10)
      2 => 
        array (size=1)
          'Bid' => string 'HirukPikuk' (length=10)
      3 => 
        array (size=1)
          'Bid' => string 'DGD' (length=3)
.....

So I want to merge arrays inside every id as one array, the goals like this:

    'P9-6/01/2018/091443/0001' => 
    array (size=2)
          'Bid' => string 'Dagadu Bocah' (length=12)
          'Bid' => string 'Dagadu Bocah' (length=12)   
'P7-6/01/2018/091815/0001' => 
    array (size=2)
          'Bid' => string 'HirukPikuk' (length=10)
          'Bid' => string 'Dagadu' (length=6)   
'P7-6/01/2018/092430/0002' => 
    array (size=4)
          'Bid' => string 'HirukPikuk' (length=10)
          'Bid' => string 'HirukPikuk' (length=10)
          'Bid' => string 'HirukPikuk' (length=10)
          'Bid' => string 'DGD' (length=3)

Or, based on my new know thats array keys cant be same, I need the goals like this:

        'P9-6/01/2018/091443/0001' => 
    array (size=2)
          'Dagadu Bocah' => string 'Dagadu Bocah' (length=12)
          'Dagadu Bocah' => string 'Dagadu Bocah' (length=12)   
'P7-6/01/2018/091815/0001' => 
    array (size=2)
          'HirukPikuk' => string 'HirukPikuk' (length=10)
          'Dagadu' => string 'Dagadu' (length=6)   
'P7-6/01/2018/092430/0002' => 
    array (size=4)
          'HirukPikuk' => string 'HirukPikuk' (length=10)
          'HirukPikuk' => string 'HirukPikuk' (length=10)
          'HirukPikuk' => string 'HirukPikuk' (length=10)
          'DGD' => string 'DGD' (length=3)

This is my code, but not change anythings from output:

   $results = $stat->fetchAll(PDO::FETCH_GROUP | PDO::FETCH_ASSOC);
    foreach ($results as $result){
        array_merge($result);
    }
    var_dump($results);

This is my database details:

my database

llinvokerl
  • 1,029
  • 10
  • 25
M K Wiro
  • 75
  • 6
  • 2
    Arrays can't have the same key multiple times. Also, `array_merge` doesn't modify the given array, but returns a new one. – Jeto Jan 09 '20 at 08:04
  • You can't. In your expected result, what is the value of `$array['P7-6/01/2018/091815/0001']['Bid']` ? is it `'HirukPikuk'` or `Dagadu` ? – Cid Jan 09 '20 at 08:08
  • I have try to make new variable but still same – M K Wiro Jan 09 '20 at 08:09
  • @Cid so, its possible to change every key of array with values name? – M K Wiro Jan 09 '20 at 08:12

0 Answers0