2012-06-17 20 views
2

如何將多個小數數組傳遞給視圖? 控制器代碼從控制器傳遞多維數組以查看代碼標記

 public function index(){ 

      data['navs'] = array( 
      'name' => array('one', 'two', 'three'), 
      'link' => array('one', 'two', 'three')); 

      $this->load->view('adminView', $data);} 

視圖代碼

 <?php if ($navs) { 
       foreach ($navs as $nav) { 
       echo('<li><a href="' . $nav->link . '">' . $nav->name . '</a></li>'); 
       } 
      }?> 

回答

4

首先,您需要構建陣列,正確的方法。它應該是這樣的:

$data['navs'] = array(array( 'name' => 'one', 
           'link' => 'linkone'), 

         array( 'name' => 'two', 
           'link' => 'linktwo')  
        ); 
$this->load->view('adminView', $data); 

然後在您的視圖:

foreach($navs as $n){ 
    echo "<li><a href='{$n['link']}'>{$n['name']}</a></li>"; 
} 
1
在視圖

一旦,請參考數據作爲陣列elelements,不對象屬性(您正在傳遞數組,而不是對象的陣列的陣列)。根據您的控制器上,您的視圖代碼看起來應該:

foreach ($navs as $nav) { 
    echo('<li><a href="' . $nav['link'] . '">' . $nav['name'] . '</a></li>'); 
} 

不過,這不會輸出正確的結果,因爲你的資產淨值$ [「鏈接」]和$ NAV [「名」]是兩個數組。您需要調用其任何元素或相應地更改控制器。

-2

如何在PHP中使用笨的控制器來獲取動態數組值

Array 
(
    [id] => 2 
    [name] => Wellness & Spa 
    [isSelected] => true 
    [subModules] => Array 
     (
      [0] => Array 
       (
        [id] => 1 
        [name] => Spa1 
        [isSelected] => true 
        [0] => object:81 
       ) 

      [1] => Array 
       (
        [id] => 2 
        [name] => Spa2 
        [isSelected] => true 
        [0] => object:82 
       ) 

      [2] => Array 
       (
        [id] => 3 
        [name] => Wellness 
        [isSelected] => true 
        [0] => object:83 
       ) 

     ) 

) 
+0

我不明白什麼你在說。請給出更多的上下文。 – Polyov

相關問題