在 PHP Zend Framework 中填充数组并在视图中获取它

Filling an array in PHP Zend Framework and fetching it in the View

我试图在我的 PHP ZF2 应用程序控制器中填充一个数组,并通过执行以下操作将其传递到视图中:

$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;

请注意:

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

是我在配置文件中预定义的静态数组,如下所示:

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

在视图中我正在执行以下操作:

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

但是当我在浏览器中打开视图时,什么也没有出现。我的问题是,或者更多的问题是,我不明白为什么我的视图中没有显示任何内容。另外,我如何访问从数据库中获取的这个数组的每个元素。就像数据库中的 table 具有名为 "id" 的列一样,我想通过以下方式访问它:

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

并在我看来写出来(这只是一个例子,我实际上不会从 DB 打印 ID 哈哈)...

有人可以帮我解决这些问题吗?

非常感谢!!

首先,变量的名称是 b 而不是 bId 这一行中所述 $viewModel->setVariable("b",$array);.

然后要打印上述值,您必须在视图中调用 $this->b['id'];

希望这会奏效,