在 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'];
希望这会奏效,
我试图在我的 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'];
希望这会奏效,