3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php $json = array( '123' => array('data' => array('categories' => array( array( 'id' => '2', 'description' => 'Single-player' ), array( 'id' => '1', 'description' => 'Multi-player' ), array( 'id' => '9', 'description' => 'Co-op' ), array( 'id' => '22', 'description' => 'Steam Achievements' ), array( 'id' => '28', 'description' => 'Full controller support' ) )) ), '456' => array('data' => array('categories' => array( array( 'id' => '21', 'description' => 'Downloadable Content' ) )) ), ); //print_r($json); $merged = array(); foreach($json as $j1) { foreach($j1 as $j2) { foreach($j2 as $key => $j3) { $merged[$key][] = $j3; } } } print_r($merged);
based on doedC
Output for 4.3.0 - 5.6.28, hhvm-3.10.0 - 3.12.0, 7.0.0 - 7.1.0
Array ( [categories] => Array ( [0] => Array ( [0] => Array ( [id] => 2 [description] => Single-player ) [1] => Array ( [id] => 1 [description] => Multi-player ) [2] => Array ( [id] => 9 [description] => Co-op ) [3] => Array ( [id] => 22 [description] => Steam Achievements ) [4] => Array ( [id] => 28 [description] => Full controller support ) ) [1] => Array ( [0] => Array ( [id] => 21 [description] => Downloadable Content ) ) ) )