数字格式在 Smarty 的 foreach 中不起作用

Posted

技术标签:

【中文标题】数字格式在 Smarty 的 foreach 中不起作用【英文标题】:Number format doesn't work in Smarty's foreach 【发布时间】:2018-09-22 11:52:30 【问题描述】:

我想以千为单位分隔一些数字,但 number_format 在输入值内的这个 foreach 循环中不起作用:

foreach $uab_list as $uab
      <label for="uab_$uab.level">UAB $uab.name</label>
      <input type="number" name="uab_$uab.level" value="$uab.price|number_format:0:',':'.'">
/foreach

没有产生任何值,但是当 number_format 修饰符被省略时会显示数字。

没有人能帮我解决这个问题吗?

【问题讨论】:

【参考方案1】:
$uab.price|number_format:0:',':'.'

格式正确。您是否在没有此数字格式的情况下获得输出?只是价值:$uab.price ???

检查标签foreach - foreach from=$uab_list item=uab Manual

【讨论】:

是的,我从 $uab.price 得到输出。 尝试在 foreach 外部对单独的值进行格式化:$price1|number_format:0:',':'.' 我尝试了单个值,它可以工作。但在循环中,它不起作用。 检查标签 foreach - foreach from=$uab_list item=uab 你语法错误 无论有无修饰符,都具有相同的结果。

以上是关于数字格式在 Smarty 的 foreach 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

smarty中的数字格式

如何在 smarty 中找到 foreach 循环的最后一个索引

Smarty标签运算,控制结构[if,for,foreach,section,while]

Smarty foreach 不工作

smarty foreach循环

foreach和section的区别