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 7.1.0 - 7.1.33, 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.4, 8.3.6
<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>
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 <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>

preferences:
189.74 ms | 403 KiB | 185 Q