3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array['Top Level']['Level 2: A']['Son of A'] = "item"; $array['Top Level']['Level 2: A']['Daughter of A'] = "item"; $array['Top Level']['Level 2: B'] = "item"; function recurse($array, $parent = null) { $entries = []; foreach ($array as $key => $value) { $temp = [ 'name' => $key, 'parent' => $parent, 'children' => is_array($value) ? recurse($value, $key) : [] ]; if (!$temp['children']) { unset($temp['children']); } $entries[] = $temp; } return $entries; } var_export(recurse($array));
Output for git.master, git.master_jit, rfc.property-hooks
array ( 0 => array ( 'name' => 'Top Level', 'parent' => NULL, 'children' => array ( 0 => array ( 'name' => 'Level 2: A', 'parent' => 'Top Level', 'children' => array ( 0 => array ( 'name' => 'Son of A', 'parent' => 'Level 2: A', ), 1 => array ( 'name' => 'Daughter of A', 'parent' => 'Level 2: A', ), ), ), 1 => array ( 'name' => 'Level 2: B', 'parent' => 'Top Level', ), ), ), )

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:
188.84 ms | 407 KiB | 5 Q