2012-01-06 16 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

+4

さて、オブジェクトを矢印やレンガのような配列と考えてください。彼らはどちらも原子から作られていますが、見た目は異なります。 ' - '(矢印)と' [' .. '] '(ブリック)の配列でオブジェクトにアクセスすることはできますが、配列呼び出しでオブジェクトデータにアクセスすることはできません。 – MJA

2

正しく渡していますが、ビューから正しくアクセスしていません。 $key->titleの代わりに$key['title']を使用する必要があります。

関連する問題