2012-01-06 132 views
2

我有CodeIgniter問題。我如何從控制器傳遞數組來查看?這裏是我的代碼無法正常工作:codeigniter:從控制器傳遞數組以查看

控制器:

$data_part13['header3_item'][] = array('title' => 'first image 1' , 'img' => 'https://encrypted-tbn0.google.com/images?q=tbn:ANd9GcQoshslL3aMNzG50708domqPSA4ouPjk_wA7jCpVRUH3k8zVdn9'); 

$this->load->view('part_1_3', $data_part13); 

和看法:

<div id="header3"> 
    <div id="header3-inner"> 
     <?php 
     if (isset($header3_item)){ 
      foreach ($header3_item as $key) { 
     ?> 
       <div class="header3-item"> 
        <img alt="<?php echo($key->title); ?>" src="<?php echo($key->img); ?>"/> 
       </div> 
     <?php 
      } 
     } 
     ?> 
    </div> 
</div> 

回答

6

你們這樣做是正確的(有點)。你向視圖傳遞了一個數組,但是你的問題是你在視圖中使用了一個對象。你應該改爲做這樣的事情:

$data_part13['header3_item'][] = (object) array('title' => 'first image 1' , 'img' => 'https://encrypted-tbn0.google.com/images?q=tbn:ANd9GcQoshslL3aMNzG50708domqPSA4ouPjk_wA7jCpVRUH3k8zVdn9'); 

$this->load->view('part_1_3', $data_part13); 

視圖部分可以保持不變。

+0

謝謝你的回答,它爲我工作。但我仍然不明白爲什麼我需要「(對象)」?它是PHP標準還是Codeigniter方法? – Irakli 2012-01-06 10:18:04

+4

好吧,將對象看作是一個箭頭,並將數組看作一塊磚塊。它們都是由原子構成的,但它們看起來不一樣。你可以用' - >'(箭頭)和'['..']'(磚)來訪問一個對象,但是你不能**用數組調用訪問對象數據。 – MJA 2012-01-06 10:50:54

2

您正確傳遞它,但您沒有從視圖中正確訪問它。而不是$key->title,您需要使用$key['title'];

相關問題