gpt4 book ai didi

smarty - 循环中的最后一个条目

转载 作者:行者123 更新时间:2023-12-04 06:41:36 25 4
gpt4 key购买 nike

我有一个关联数组,我用这个数组生成了很多不同的东西。

我需要的输出具有以下形式

aa, ab, ac, ad, af, ak, az

所以最后一个条目后面没有逗号
{section name=i loop=$aColums}
{if $aColums[i].contshow eq 'y'}
{$aColums[i].Name}
{endif}
{/section}

我的问题是我不知道何时达到最后一个值,即 contshow=y属性。所以我的下一个想法是在我写 aColums[i].Name 之前应用逗号.但在这里我有一个类似的问题,因为我不知道我什么时候达到了 contshow=y 的第一个值。 .
有人有建议吗?

最佳答案

有一种替代方法,使用该部分的 .last 属性。

{section name=i loop=$aColums} 
{if $aColums[i].contshow eq 'y'}
{$aColums[i].Name}{if $smarty.section.i.last eq false}, {/if}
{endif}
{/section}

这会在每个输出名称之后添加一个“,” - 除非它是 {section} 的最后一次迭代.我假设您的 $aColums 数组数据尚未添加逗号。

您还有另一个选择 - 使用内爆在 PHP 中预生成此字符串:
$aColumsString = implode(', ', $aColums);
$smarty->assign('aColumsString', $aColumsString);

然后根据需要输出到模板。如果您需要不止一次使用逗号的列表,这可能是更有效的方法。如果你需要它一次,它可能是一个折腾的效率明智。

关于smarty - 循环中的最后一个条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4166314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com