Php 访问多维数组的不同部分
我已经使用md数组组合了一个菜单,但是我在正确打印子菜单项时遇到了问题 我使用它来构建菜单:Php 访问多维数组的不同部分,php,arrays,multidimensional-array,foreach,Php,Arrays,Multidimensional Array,Foreach,我已经使用md数组组合了一个菜单,但是我在正确打印子菜单项时遇到了问题 我使用它来构建菜单: class Language { public $langCode ; function __construct($code) { $this->langCode = $code ; } public function navigation() { if($this->langCode == 'en') { $menu = array(
class Language {
public $langCode ;
function __construct($code)
{
$this->langCode = $code ;
}
public function navigation()
{
if($this->langCode == 'en')
{
$menu = array(
array('Home', ''),
array('Galleries', '',
array('Top ten hottest' => 'hottest.php'),
array('Top ten worst' => 'hottest.php'),
),
array('Upload', 'upload.php'),
array('Login/register', ''),
array('Resources', '',
array('News' => ''),
array('What\'s a mound?' => ''),
array('Legal' => ''),
array('Links' => ''),
),
array('abc?', ''),
) ;
}
return $menu ;
}
}
我正在尝试使用以下方法构建菜单:
$mainMenu = $lng->navigation() ;
echo "<ul>\n" ;
foreach($mainMenu as $set) {
$x = 0 ;
echo "<li><a href='".$set[1]."'>".$set[0]."</a></li>\n" ;
if($set[2])
{
foreach($set[2] as $label => $item) {
echo $item ;
}
}
}
$main menu=$lng->navigation();
回声“\n”;
foreach($main菜单作为$set){
$x=0;
回声“\n”;
如果($set[2])
{
foreach($set[2]为$label=>$item){
echo$项目;
}
}
}
但我得到的只是foreach循环子菜单中的第一项,这对我来说毫无意义,因为我可以通过执行$set[2][0]直接访问它(在我为数组中的值指定键之前)
我需要做什么才能得到想要的输出?您忘记了将set[2]设置为数组。现在您已经设置了[2]和[3],并且在资源上也设置了[4]和[5]:
$menu = array(
array('Home', ''),
array('Galleries', '', array(
array('Top ten hottest' => 'hottest.php'),
array('Top ten worst' => 'hottest.php'),
)),
array('Upload', 'upload.php'),
array('Login/register', ''),
array('Resources', '', array(
array('News' => ''),
array('What\'s a mound?' => ''),
array('Legal' => ''),
array('Links' => ''),
)),
array('abc?', ''),
) ;