3v4l.org

run code in 300+ PHP versions simultaneously
<?php $yaml = [ 'components' => [ [ 'cachet' => [ 'componentgroup' => 'FOO', 'componentname' => 'BAR' ] ], [ 'cachet' => [ 'componentgroup' => 'Key1', 'componentname' => 'Value1' ] ], [ 'cachet' => [ 'componentgroup' => 'Key2', 'componentname' => 'Value2' ] ], [ 'cachet' => [ 'componentgroup' => 'FOO', 'componentname' => 'BAZ' ] ], [ 'cachet' => [ 'componentgroup' => 'Key3', 'componentname' => 'Value3' ] ] ] ]; $yamlMap = []; foreach ($yaml['components'] as $yamlComponent) { $k = $yamlComponent['cachet']['componentgroup']; $v = $yamlComponent['cachet']['componentname']; $yamlMap[$k] = isset($yamlMap[$k]) ? array_merge((array)$yamlMap[$k], [$v]) : $v; } var_export($yamlMap);

preferences:
31.32 ms | 405 KiB | 5 Q