【发布时间】:2020-06-22 10:24:36
【问题描述】:
我想生成(至少)两个不同的随机字符串,它们总是彼此不同。
{% set firstColour = random(['coral', 'pink', 'black', 'sand']) %}
{% set secondColour = random(['coral', 'pink', 'black', 'sand']) %}
{{ firstColour }}
{{ secondColour }}
我认为一个“简单”的解决方案是重置第二种颜色(如果它等于第一种颜色)
{# before variables are called #}
{% if firstColour == secondColour %}
{% set secondColour = '' %}
{% set secondColour = random(['coral', 'pink', 'black', 'sand']) %}
{% endif %}
这不仅看起来不是很实用或“干净”,而且也不起作用。在 twig 文档或其他线程上,我找不到任何关于设置带有异常的随机字符串的信息。
结果是随机的(不是切片)并且不等于其他变量,这一点很重要。最终,我想以随机顺序在同一页面上使用单独的变量获得所有可能性,
从不重复:{{ firstColor}} {{ secondColour }} {{ thirdColour }} {{ FourthColour }} 在页面上调用时,总是会返回 4 个不同的值。
有没有办法使用Twig的内置函数或扩展来实现?
【问题讨论】:
-
用php做,发给twig
-
请记住,Twig 是一个模板引擎 - 是的,一个相当强大的引擎,但仍然适用于模板。
-
PHP
shuffle和array_pop