<?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