我目前正在尝试生成动态子导航。因此,我从数据库中提取数据并将其中的一些存储为数组。现在我想在这个数组中做一个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'
)
);
}
答案 0 :(得分:1)
你不能将foreach循环放在这样的数组中。你可以这样做。
foreach($this->system->get_databases() as $db)
{
$this->subnav['datenbank'][$db->name] = $db->url;
}
答案 1 :(得分:0)
这是不可能的。但你可以用其他方式做到这一点,比如你可以把foreach放在这个数组的顶部,并分配给一个数组,然后就可以使用那个数组变量。
e.g。
$arrDB = array();
foreach($this->system->get_databases() as $db) {
$arrDB[$db->name] = $db->url;
}
现在将其分配给:
'datenbank' => $arrDB