0

我目前正在尝试生成动态子导航。因此,我从数据库中提取数据并将其中一些存储在一个数组中。现在我想在这个数组中做一个 foreach。好吧,据我所知,这是不可能的。

但也许我错了。我想知道这是否可能,如果可以,我该怎么做?

这是我的代码,它不会工作,因为它会发出语法错误。

$this->subnav = array(
                        '' => array(
                            'Test Link'     => 'login.php',
                            'Badged Link'   => array('warning',10023,'check.php')
                        ),
                        'benutzer'      => array(
                            'Benutzer suchen'       => '/mother/index.php?page=benutzer&subpage=serach_user',
                            'Benutzer hinzufügen'   => '/mother/index.php?page=benutzer&subpage=add_user',
                            'Rechtevergabe'         => '/mother/index.php?page=benutzer&subpage=user_rights'
                        ),
                        'logout'        => array(
                            'Login'     => '/mother/login.php',
                            'Logout'    => '/mother/index.php?page=logout'
                        ),
                        'datenbank'        => array(
                             (foreach($this->system->get_databases() as $db){array($db->name => $db->url)}),
                            'Deutschland'           => '/mother/login.php',
                            'Polen'                 => '/mother/index.php',
                            'Spanien'               => '/mother/index.php',
                            'Datenbank hinzufügen'  => '/mother/index.php?page=datenbank&subpage=add_database'
                        )
                    );
}
4

2 回答 2

1

您不能将 foreach 循环放在这样的数组中。你可以做这样的事情。

foreach($this->system->get_databases() as $db)
{
    $this->subnav['datenbank'][$db->name] = $db->url;
}
于 2013-06-21T07:22:03.500 回答
0

这是不可能的。但是您可以以其他方式执行此操作,例如您可以将 foreach 放置在该数组的外部和顶部并分配给一个数组,然后您可以使用该数组变量。

例如

$arrDB = array();
foreach($this->system->get_databases() as $db) { 
  $arrDB[$db->name] = $db->url;
}

现在将其分配给:

'datenbank'        => $arrDB
于 2013-06-21T07:23:31.753 回答