在smarty中使用foreach-loop

时间:2013-03-22 12:52:14

标签: php smarty

所以这是我的foreach循环

foreach($statusMessageResult as $row){
    $row['username']=$db->getUsername($db->getUserNameById($row['posterID']));
    $results[] = $row;
    echo "Status from: " . $row['username'] . " ID: " . $row['statusID'] . "<br>" . $row['dateTime'];
}

哪个有效但没问题。但现在我想要聪明一点。 所以我想我会在.php文件中执行此操作

$smarty->assign('results', $results);

这是在.html文件中

{foreach from=$results item=statusID}
    id: {$statusID}<br>
{/foreach}

但它告诉我

Notice: Array to string conversion in F:\xampp\htdocs\FinalYear\smarty\templates_c\ab89063f543bf0a8fe20c45b89aad63b616cd7c5.file.home.html.php on line 86
Array

问题似乎很清楚:我有一个数组,并希望将其用作字符串,但这是不允许的。但是我该如何解决呢?

3 个答案:

答案 0 :(得分:2)

试试这个:

{foreach from=$results item=result}
    id: {$result.statusID}<br>
{/foreach}

如果您需要用户名:{$result.username}

参考:http://www.smarty.net/docsv2/en/language.function.foreach

答案 1 :(得分:0)

statusID是一个数组,按键名称获取值:

{foreach from=$results item=statusID}
    id: {$statusID.username}<br>
{/foreach}

答案 2 :(得分:-1)

$statusID似乎是一个数组:)

更改

{foreach from=$results item=statusID}
    id: {$statusID}<br>
{/foreach}

{foreach from=$results item=statusID}
    id: {$statusID['statusID']}<br>
{/foreach}

应该解决它

相关问题