3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ [ 2 => 'kategorie_01', 'tags' => [ 1 => 'tag_01', 2 => 'tag_02', ], ], [ 3 => 'kategorie_02', 'tags' => [ 2 => 'tag_02', ], ], [ 1 => 'Default', 'tags' => [ 1 => 'tag_01', 2 => 'tag_02', ], ], [ 2 => 'kategorie_01', 'tags' => [ 2 => 'tag_02', 3 => 'tag_03', ], ], ]; $result = []; foreach ($array as $set) { foreach ($set as $k => $v) { if ($k !== 'tags') { $cat = $v; if (!isset($ref[$v])) { $ref[$v] = $set; $result[] = &$ref[$v]; } } else { $ref[$cat]['tags'] += $v; } } } var_export($result);
Output for git.master, git.master_jit, rfc.property-hooks
array ( 0 => array ( 2 => 'kategorie_01', 'tags' => array ( 1 => 'tag_01', 2 => 'tag_02', 3 => 'tag_03', ), ), 1 => array ( 3 => 'kategorie_02', 'tags' => array ( 2 => 'tag_02', ), ), 2 => array ( 1 => 'Default', 'tags' => array ( 1 => 'tag_01', 2 => 'tag_02', ), ), )

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
91.42 ms | 406 KiB | 5 Q