2016-05-19 5 views
0

でそれを取り出し、私は私のPHP ZF2アプリケーションのコントローラ内の配列を記入し、次のようにしてビューにそれを渡すようにしようとしている:PHPのZend Frameworkの配列を充填し、View

$brandIds = $this->getConfig()['brandIds']; 
     $array = array(); 
     $size = count($brandIds); 
     for ($i = 0; $i < $size; $i++) 
     { 
      $brand = $this->getBrandModel()->getBrandById($brandIds[$i]); 
      $array = array_fill($i,$size, $brand); 
     } 
     $signInSession = $this->signInUser->user; 
     if(empty($signInSession)) 
     { 
      $this->redirect()->toUrl('/index/landing'); 
     } 
     $viewModel = new ViewModel(); 
     $viewModel->setVariable("b",$array); 
     return $viewModel; 

ますのでご注意くださいその:

"brandIds" => array(
     "AUTO" => 16, 
     "FINANCE" => 18, 
     "EVENTS" => 19, 
     "HEALTH" => 21, 
     "GADGETS" => 25 
    ), 

とIn:

$this->getConfig()['brandIds'] 

は、私は次のように設定ファイルで事前に定義しました静的な配列でありますビュー私は次のことをしています:

<?php foreach ($brands as $bId){ ?> 
       <h1> <?=$bId?> </h1> 
       <?php }?> 

私はブラウザでビューを開くと何も表示されません。私の質問はここにある、またはそれ以上の問題は、なぜ私の見解に何も現れないのか理解できないことです。また、DBからフェッチされたこの配列の各要素にどうやってアクセスすることができますか? DB内のテーブルには、「ID」という列を持っている場合と同様に、私は次のようでそれにアクセスしたいと思います:

<?=$bId['id']?> 

そして、私のビューにそれを書く(これは一例であり、私はいないだろう、実際にDBからの印刷ID)...

誰かが私を助けてくれますか?

ありがとうございます!

答えて

1

まず、変数の名前はbであり、bIdではありません。$viewModel->setVariable("b",$array);です。その後、言った値を印刷する

、あなたはこれがうまくいく$this->b['id'];

希望、奇妙なことに

+0

あなたのビューに呼び出す必要がありますか?それは今動作します...私はなぜ配列の要素にアクセスすることができなかったか分かりません... – perkes456