3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = array(array('id' => '10', 'name' => 'aaa', 'nodes' =>array()), array('id' => '11', 'name' => 'bbb','nodes' =>array('id' => '21', 'name' => 'aaaaaa','nodes'=> array("11"=>"haha"))), array('id' => '12', 'name' => 'ccc', 'nodes' =>array()), array('id' => '13', 'name' => 'ddd', 'nodes' =>array('id' => '23', 'name' => 'cccccc','nodes'=> array())), array('id' => '14', 'name' => 'eee', 'nodes' =>array()) ); function FormatTagString($num){ $tag = "-"; $string=""; for ($i=0;$i<$num;$i++){ $string.=$tag; } return $string; } function GetTree($array,$level){ global $tree; foreach ($array as $k=>$v){ if (!is_array($v))$tree.=FormatTagString($level).$v."<br />"; else GetTree($v,$level+1); } return $tree; } $string = GetTree($array,1); print_r($string);
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.38, 7.0.0 - 7.0.33, 7.1.0 - 7.1.25, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
--10<br />--aaa<br />--11<br />--bbb<br />---21<br />---aaaaaa<br />----haha<br />--12<br />--ccc<br />--13<br />--ddd<br />---23<br />---cccccc<br />--14<br />--eee<br />

preferences:
259.97 ms | 406 KiB | 425 Q