coach
coach

Reputation: 75

Convert a flat, associative array into an indexed array of individual associative rows

I have an array as:

Array
(
    [d26f8828-8362-7d78-49db-2abfd44608f7] => 2cdc40f5-3e99-72b2-1bc8-9ec30496106c
    [c464b8ff-adfc-b901-1ec3-77f119a896c5] => b79c98de-07ba-9c53-d6a4-2de07eec9537
)

How can I convert it into multidimensional array like this:

Array
(
    [0] => Array
        (
            [d26f8828-8362-7d78-49db-2abfd44608f7] => 2cdc40f5-3e99-72b2-1bc8-9ec30496106c
        )

    [1] => Array
        (
            [c464b8ff-adfc-b901-1ec3-77f119a896c5] => b79c98de-07ba-9c53-d6a4-2de07eec9537
        )
)

Upvotes: -1

Views: 43

Answers (2)

mickmackusa
mickmackusa

Reputation: 47894

Chunk the associative element into 1-element subarrays and preserve the original keys. Demo

$array = [
    'd26f8828-8362-7d78-49db-2abfd44608f7' => '2cdc40f5-3e99-72b2-1bc8-9ec30496106c',
    'c464b8ff-adfc-b901-1ec3-77f119a896c5' => 'b79c98de-07ba-9c53-d6a4-2de07eec9537',
];

var_export(array_chunk($array, 1, true));

Output:

array (
  0 => 
  array (
    'd26f8828-8362-7d78-49db-2abfd44608f7' => '2cdc40f5-3e99-72b2-1bc8-9ec30496106c',
  ),
  1 => 
  array (
    'c464b8ff-adfc-b901-1ec3-77f119a896c5' => 'b79c98de-07ba-9c53-d6a4-2de07eec9537',
  ),
)

Upvotes: 0

Danyal Sandeelo
Danyal Sandeelo

Reputation: 12391

  $newArray = array();
  foreach($array as $key => $value){
   $newArray[] = array($key =>value);
  }

$newArray has what you need.

Upvotes: 1

Related Questions