2

foreach 方法在 smarty 模板引擎中无法正常工作。你能用while循环展示它的外观吗

// Foreach data in post array saved : add a new input in the redirection form
foreach($_SESSION['POSTDATA'] as $key => $value)
{
    if($key!='ACTION' && $key!='AES_KEYS')
    {
        $smarty->assign('postdata',array('id' => $key, 'name' => $key, 'value'  => $value));
    }
}
$_SESSION['POSTDATA'] = '';
4

1 回答 1

0

根据您的代码,您可以尝试这样做是正确的(因为您在每次循环迭代中都丢弃了先前的“postdata”值并希望排除 ACTION 和 AES_KEYS 键):

unset($_SESSION['POSTDATA']['ACTION']);
unset($_SESSION['POSTDATA']['AES_KEYS']);
$smarty->assign('postdata', $_SESSION['POSTDATA']);

然后,您可以使用以下命令访问分配给 smarty 的“postdata”变量:

{$postdata.yourkey}

无论如何,您可以在 smarty 3 中使用它直接访问会话全局:

{$smarty.session.POSTDATA.desiredkey}

或这个

{$smarty['session']['POSTDATA']['desiredkey']}
于 2018-02-03T03:07:38.267 回答