如何“打破” Twig 中的循环?
Posted
技术标签:
【中文标题】如何“打破” Twig 中的循环?【英文标题】:How to "break" a loop in Twig? 【发布时间】:2015-10-04 10:00:54 【问题描述】:我想在 Twig 模板引擎中使用break
。
% for key, db_staff_language in db_staff_languages %
% for staff_language in model_data.staff_languages %
% if staff_language.id == db_staff_language.id %
<option value="db_staff_language.id" selected="selected">db_staff_language.staff_languages_data_translation[0].value</option>
% else %
<option value="db_staff_language.id">db_staff_language.staff_languages_data_translation[0].value</option>
% endif %
% break % # <-- Not working #
% endfor %
% endfor %
由于我无法用 Twig 解决问题,我还尝试了其他方法,例如:
-----------------------------------------------
% autoescape true %
<?php echo 'test' ?>
% endautoescape %
-----------------------------------------------
% php %
<?php echo 'test' ?>
% endphp %
-----------------------------------------------
% verbatim %
<?php echo "test"; ?>
% endverbatim %
-----------------------------------------------
raw
<?php echo "test"; ?>
endraw
-----------------------------------------------
这个问题有解决办法吗?
【问题讨论】:
引用the documentation:“与 PHP 不同,循环中不能中断或继续。但是,您可以在迭代期间过滤序列,从而跳过项目。” 与 PHP 不同,不可能在循环中中断或继续。检查您是否可以按照here in the doc 所述添加条件 How can I use break or continue within for in twig template? 的可能副本 【参考方案1】:Twig 不包含 break 语句。根据官方手册,等效指令为for + if condition。
【讨论】:
以上是关于如何“打破” Twig 中的循环?的主要内容,如果未能解决你的问题,请参考以下文章