3v4l.org

run code in 300+ PHP versions simultaneously
<?php function makeNav($item) { $ret = '<li><a href="'.$item['url'].'">'.$item['name'].'</a>'.PHP_EOL; if (isset($item['subPgs']) && is_array($item['subPgs']) && count($item['subPgs']) > 0) { $ret .= '<ul>'.PHP_EOL; foreach ($item['subPgs'] as $subPg) { $ret .= makeNav($subPg); } $ret .= '</ul>'.PHP_EOL; } else { $ret .= '</li>'.PHP_EOL; } if (isset($item['subPgs']) && is_array($item['subPgs']) && count($item['subPgs']) > 0) { $ret .= "</li>".PHP_EOL; } return $ret; } $navItems = array( /*array( 'name' => 'Home', 'url' => '#', 'subPgs'=>array() ),*/ array( 'name' => 'Parent', 'url' => '#', 'subPgs' => array( array( 'name' => 'Child', 'url' => '#', 'subPgs' => array( array( 'name' => 'Grand Child', 'url' => '#' ), array( 'name' => 'Grand Child', 'url' => '#', 'subPgs' => array( array( 'name' => 'Grand Child Child', 'url' => '#' ), array( 'name' => 'Grand Child Child', 'url' => '#' ) ) ) ) ), array( 'name' => 'Child', 'url' => '#', 'subPgs' => array( array( 'name' => 'Grand Child', 'url' => '#', 'subPgs' => array( array( 'name' => 'Grand Grand Child', 'url' => '#' ) ) ), array( 'name' => 'Grand Child', 'url' => '#' ) ) ) ) ) ); $nav = '<ul>'; foreach ($navItems as $navItem) { $nav .= makeNav($navItem); } echo $nav.'</ul>'; ?>
Output for git.master, git.master_jit, rfc.property-hooks
<ul><li><a href="#">Parent</a> <ul> <li><a href="#">Child</a> <ul> <li><a href="#">Grand Child</a> </li> <li><a href="#">Grand Child</a> <ul> <li><a href="#">Grand Child Child</a> </li> <li><a href="#">Grand Child Child</a> </li> </ul> </li> </ul> </li> <li><a href="#">Child</a> <ul> <li><a href="#">Grand Child</a> <ul> <li><a href="#">Grand Grand Child</a> </li> </ul> </li> <li><a href="#">Grand Child</a> </li> </ul> </li> </ul> </li> </ul>

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:
62.77 ms | 402 KiB | 8 Q