2011-09-22 34 views
0

控制器:Codeigniter:我如何向視圖發送foreach語句?

$categorys = array(
    '1234' => array('Car Audio','Car Subwoofers'), 
    '12' => array('Car Stereos') 
) 

$category_id = $this->input->get('category_id'); 
$product_id = $this->input->get('modelNumber'); 

if (array_key_exists($category_id,$categorys)) 
{ 
     foreach($categorys[$category_id] as $key => $value) 
    { 
      echo $value; 
    } 
} 

我怎樣才能迴響在我看來,文件從的foreach語句輸出的$值

回答

0

控制器

if (array_key_exists($category_id,$categorys)) 
{ 
    $query['cats'] = $categorys[$category_id]; 
} 

查看

foreach($cats as $key => $value) 
{ 
    echo $value; 
} 
3

可以整個陣列傳遞給視圖,並直接在視圖中運行的foreach,例如:

$data['array'] = array(/* etc. */); 
$this->load->view('view', $data); 

並在視圖:

<?php foreach($array as $key => $value): ?> 
    <p>The key is <?php echo $key; ?><br> 
    The value is <?php echo $value; ?></p> 
<?php endforeach; ?> 
+0

我在視圖中做foreach,但我想保留在控制器中的邏輯,而不必將數組傳遞給視圖文件。 –

+3

迭代是隻有視圖應該關注的東西。這不是一個邏輯事物,並不屬於控制器。 –