Php 细枝过滤器链接和优先级
我很难找到多分支过滤器表达式的正确语法 我有一个名为floatVar的变量,它并不总是定义的 如果定义了,我想把这个浮点值截断到第三位。 如果没有定义,我想设置一个空字符串 我找不到正确的语法:Php 细枝过滤器链接和优先级,php,symfony,twig,Php,Symfony,Twig,我很难找到多分支过滤器表达式的正确语法 我有一个名为floatVar的变量,它并不总是定义的 如果定义了,我想把这个浮点值截断到第三位。 如果没有定义,我想设置一个空字符串 我找不到正确的语法: floatVar|number_format(3, '.','')|default('') // generates a Twig_Error_Runtime exception floatVar|default('')|number_format(3, '.','') // output "0" i
floatVar|number_format(3, '.','')|default('') // generates a Twig_Error_Runtime exception
floatVar|default('')|number_format(3, '.','') // output "0" in every case
(floatVar|number_format(3, '.',''))|default('') // generates a Twig_Error_Runtime exception
谁能给我指一下正确的方向吗?有没有一种方法可以用偏执来明确表达优先权?
任何相关主题的帮助或链接都将不胜感激
祝你度过愉快的一天。试试这个
{{yourelement!=null?yourelement | round(3,'floor'):''}试试这个
{{yourelement!=null?yourelement | round(3,'floor'):''}试试这个
{{yourelement!=null?yourelement | round(3,'floor'):''}试试这个
{{yourelement!=null?yourelement | round(3,'floor'):''}正确的顺序是:
{{ floatVar|default(0)|number_format(3, '.','') }}
- 默认值(0):首先确保floatVar有一个默认值(即使它没有定义)
- 数字\u格式(3,,”):然后格式化它
如果你想在1行中这样做,你应该考虑创建一个自定义的枝条扩展:
编辑: 按照@Pierre Olivier的回答,您应该尝试:{{ floatVar is defined ? floatVar|number_format(3, '.','') : '' }}
(
yourelement!=null
如果未定义yourelement将引发错误)正确的顺序是:
{{ floatVar|default(0)|number_format(3, '.','') }}
- 默认值(0):首先确保floatVar有一个默认值(即使它没有定义)
- 数字\u格式(3,,”):然后格式化它
如果你想在1行中这样做,你应该考虑创建一个自定义的枝条扩展:
编辑: 按照@Pierre Olivier的回答,您应该尝试:{{ floatVar is defined ? floatVar|number_format(3, '.','') : '' }}
(
yourelement!=null
如果未定义yourelement将引发错误)正确的顺序是:
{{ floatVar|default(0)|number_format(3, '.','') }}
- 默认值(0):首先确保floatVar有一个默认值(即使它没有定义)
- 数字\u格式(3,,”):然后格式化它
如果你想在1行中这样做,你应该考虑创建一个自定义的枝条扩展:
编辑: 按照@Pierre Olivier的回答,您应该尝试:{{ floatVar is defined ? floatVar|number_format(3, '.','') : '' }}
(
yourelement!=null
如果未定义yourelement将引发错误)正确的顺序是:
{{ floatVar|default(0)|number_format(3, '.','') }}
- 默认值(0):首先确保floatVar有一个默认值(即使它没有定义)
- 数字\u格式(3,,”):然后格式化它
如果你想在1行中这样做,你应该考虑创建一个自定义的枝条扩展:
编辑: 按照@Pierre Olivier的回答,您应该尝试:{{ floatVar is defined ? floatVar|number_format(3, '.','') : '' }}
(
yourelement!=null
如果未定义yourelement将引发错误)尝试使用此{{yourelement!=null?yourelement | round(3,'floor'):'}}尝试使用此{yourelement!=null?yourelement | round(3,'floor'):'}尝试使用此{{yourelement!=null?yourelement | round(3,'floor'):'}尝试使用此项{{yourelement!=null?yourelement | round(3,'floor'):''}出于某种奇怪的原因,我无法使圆形过滤器正常工作。然而,@Basile的编辑建议基于您的三元使其正常工作!所以谢谢!出于某种奇怪的原因,我无法使圆形过滤器正常工作。然而,@Basile的编辑建议基于您的三元使其正常工作!所以谢谢!出于某种奇怪的原因,我无法使圆形过滤器正常工作nd过滤器正常工作。但是,编辑@Basile建议基于您的三元使其正常工作!所以谢谢!出于某种奇怪的原因,我无法使圆形过滤器正常工作。但是,编辑@Basile建议基于您的三元使其正常工作!所以谢谢!您建议的编辑使其正常工作,谢谢!我试图避免使用0.000和ternary确实解决了它。这只是一个遗憾的括号和优先级不适用于那些情况…您建议的编辑使其工作,谢谢!我试图避免使用0.000和三元确实解决了它。这只是一个遗憾的括号和优先级不适用于那些情况…您建议的编辑使其工作,谢谢!我正在尝试为了避免0.000和三元数确实解决了它。这只是一个遗憾的括号和优先级不适用于这些情况…您建议的编辑使其工作,谢谢!我试图避免0.000和三元数确实解决了它。这只是一个遗憾的括号和优先级不适用于这些情况。。。