2013-06-21 5 views
0

im в настоящее время пытается создать динамическую субнавигацию. Поэтому я извлекаю данные из базы данных и сохраняю некоторые из них массивом. Теперь я хочу сделать foreach в этом массиве. Ну, насколько я знаю, это невозможно.Использовать 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' 
         ) 
        ); 
} 
+1

[это] (http://php.net) может помочь – Orangepill

+0

ли ваш 'foreach' выше массива, имеют его присвоить значения из базы данных к переменной, а затем передать переменную в массив – naththedeveloper

ответ

1

Вы не можете разместить петлю foreach внутри такого массива. Вы можете сделать что-то вроде этого.

foreach($this->system->get_databases() as $db) 
{ 
    $this->subnav['datenbank'][$db->name] = $db->url; 
} 
+0

Thx. Я буду надеяться, что это будет возможно как-то, но я думаю, я должен придерживаться этого :) – ThatMSG

0

Это невозможно. но вы можете сделать это иначе, как вы можете поместить oute oute out и верхний массив этого массива и назначить массив, а затем вы можете использовать эту переменную массива.

например.

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

Теперь назначьте его:

'datenbank'  => $arrDB