首页 文章

twig - for循环中的构建数组

提问于
浏览
20

是否有可能用值迭代填充树枝数组?

{% for question in questions %}
{% set multipleChoiceArray = [] %}
    {% for multipleChoice in question.multipleChoiceAnswers %}
        {% set multipleChoiceArray = multipleChoiceArray|merge( multipleChoice.answerText )  %}
    {% endfor %}
{% endfor %}

问题出在这里 multipleChoiceArray|merge(multipleChoice.answerText)

当我尝试传递一个数组,例如使用key = loop.index之类的

{% set multipleChoiceArray = multipleChoiceArray|merge({"loop['index']":"multipleChoice['answerText']"})  %}

它工作但数组包含字符串“[”loop ['index']“:”multipleChoice ['answerText']“]”

当我尝试传递变量,如:

{% set multipleChoiceArray = multipleChoiceArray|merge({loop.index:multipleChoice.answerText})  %}

例外是:哈希键后面必须跟冒号(:) . 意外的标记“标点符号”的值“ . ” (“标点符号”预期值“:”)

所以我无法将“multipleChoice.answerText”值“推”到“multipleChoiceArray”中

这有什么可能吗?我只想收集所有可能的答案,然后检查答案是否在该阵列中并计算并显示

1 回答

  • 42

    merge的参数必须是一个数组或对象,以将其与现有数据合并 . 所以把它写成一个带有一个元素的数组 .

    {% set multipleChoiceAnswerText = multipleChoice.answerText %}
    {% set multipleChoiceArray = multipleChoiceArray|merge([multipleChoice.answerText])  %}
    

相关问题