Php 带if条件的for循环
我有不同的具有值的类别,我只想显示一次类别名称。我尝试过这种方式,但多次显示类别名称:-Php 带if条件的for循环,php,html,twig,Php,Html,Twig,我有不同的具有值的类别,我只想显示一次类别名称。我尝试过这种方式,但多次显示类别名称:- <th>Properties</th> <td> {% for sec in entity.appliedFeatures %} {{ sec.featuresCategory }} :- {{ sec.name }} % endfor %} </td> 这些是类别:-风格、户外特色、特殊房间 我只想显示这些类
<th>Properties</th>
<td>
{% for sec in entity.appliedFeatures %}
{{ sec.featuresCategory }} :-
{{ sec.name }}
% endfor %}
</td>
这些是类别:-风格、户外特色、特殊房间
我只想显示这些类别一次。我尝试了loop.index的if条件,但它只显示一个类别名称
我想要这样的结果:-
Properties Style :- japanese, russian, american || Outdoor Features :- music system in park,Basketball Court || Special Rooms :- Camere Special ||
有解决办法吗 也许像这样的事情会奏效
{% set previous = false %}
{% for sec in entity.appliedFeatures %}
{% if not previous or previous.featuresCategory != sec.featuresCategory %}
{{ sec.featuresCategory }} :-
{% endif %}
{{ sec.name }}
{% set previous = sec %}
{% endfor %}
Twig中没有用于获取上一个循环项的内置方法,因此,在将数据结构传递给Twig以呈现模板之前,在不改变数据结构的情况下,这可能是最好的方法
它可能需要一些调整,以使其完全符合您的要求。谢谢您的回答,但是!上次显示意外字符“!”?哎呀!我已经更新了我的答案,看看现在是否有效:),我已经有一段时间没有使用Twig了!嗯,在查找了更多的细枝语法之后,对它进行了更多的编辑,希望这就是现在!你的第一个答案是对的。只有第一个类别名称未出现:-{%set previous=false%}{%for sec in entity.appliedFeatures%}{%if previous and previous.FeaturesTegory!=sec.FeaturesTegory%}{{sec.FeaturesTegory}:-{%endif%}{sec name}{%set previous=sec%}{%endfor%}而reuslt则是:-日俄美户外特色:-公园篮球场特别房间的音乐系统:-Camere特别效果第一类风格不会出现。你能看到这个吗?确保它是
如果不是先前的
,然后是或
其他条件。如果previous为false,则必须打印出来(这是循环的第一次迭代)。
{% set previous = false %}
{% for sec in entity.appliedFeatures %}
{% if not previous or previous.featuresCategory != sec.featuresCategory %}
{{ sec.featuresCategory }} :-
{% endif %}
{{ sec.name }}
{% set previous = sec %}
{% endfor %}