Php 如何在smarty中循环通过对象
我有一个脚本正在将对象数组传递给smarty,如下所示:Php 如何在smarty中循环通过对象,php,object,smarty,Php,Object,Smarty,我有一个脚本正在将对象数组传递给smarty,如下所示: $smarty->assign('results', $user->results()); 该数组如下所示: Array ( [0] => stdClass Object ( [id] => 1 [agency_name] => Agency #1 [created_date] => 2015-03-25 20:23:44 ) [1]
$smarty->assign('results', $user->results());
该数组如下所示:
Array
(
[0] => stdClass Object
(
[id] => 1
[agency_name] => Agency #1
[created_date] => 2015-03-25 20:23:44
)
[1] => stdClass Object
(
[id] => 2
[agency_name] => gggg
[created_date] => 2015-03-25 21:26:06
)
)
{foreach from=$results item=result}
{$result->id}
{/foreach}
如何使用smarty在该对象数组中循环?我试过这样的东西,但运气不好
{section name="i" loop=$result}
{$result[i]->id}
{/section}
有什么想法吗
谢谢//在smarty中,您可以像这样在阵列中循环:
Array
(
[0] => stdClass Object
(
[id] => 1
[agency_name] => Agency #1
[created_date] => 2015-03-25 20:23:44
)
[1] => stdClass Object
(
[id] => 2
[agency_name] => gggg
[created_date] => 2015-03-25 21:26:06
)
)
{foreach from=$results item=result}
{$result->id}
{/foreach}
//您还可以在循环结束之前使用“key=xx”和“{foreachelse}”,以防数组中没有任何内容。我使用smarty assign_by_ref使其工作
$smarty->assign_by_ref('object', $object)
是的,我知道我可以在标准数组上进行foreach,但是在对象数组上呢?我尝试了上面的代码,但不起作用。请尝试使用{foreach from=$results key=I item=result}{$result[I]->id}{/foreach}相同的结果。也许我必须在smarty中以不同的方式分配对象?如果不使用[I]键,则第一个示例应该可以使用。Smarty应该很好地理解stdClass,它只是将其转换为一个数组,因为它最初是一个数组。你得到的是什么错误我没有得到错误,只是没有输出,但我可以看到它在两行上循环,有两行,这就是为什么我不能计算出来。