Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 细枝过滤器链接和优先级_Php_Symfony_Twig - Fatal编程技术网

Php 细枝过滤器链接和优先级

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的变量,它并不总是定义的

如果定义了,我想把这个浮点值截断到第三位。 如果没有定义,我想设置一个空字符串

我找不到正确的语法:

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,,”):然后格式化它
但是,如果未定义floatvar,则将打印0.000

如果你想在1行中这样做,你应该考虑创建一个自定义的枝条扩展:

编辑: 按照@Pierre Olivier的回答,您应该尝试:

{{ floatVar is defined ? floatVar|number_format(3, '.','') : '' }}

yourelement!=null
如果未定义yourelement将引发错误)

正确的顺序是:

{{ floatVar|default(0)|number_format(3, '.','') }}
  • 默认值(0):首先确保floatVar有一个默认值(即使它没有定义)
  • 数字\u格式(3,,”):然后格式化它
但是,如果未定义floatvar,则将打印0.000

如果你想在1行中这样做,你应该考虑创建一个自定义的枝条扩展:

编辑: 按照@Pierre Olivier的回答,您应该尝试:

{{ floatVar is defined ? floatVar|number_format(3, '.','') : '' }}

yourelement!=null
如果未定义yourelement将引发错误)

正确的顺序是:

{{ floatVar|default(0)|number_format(3, '.','') }}
  • 默认值(0):首先确保floatVar有一个默认值(即使它没有定义)
  • 数字\u格式(3,,”):然后格式化它
但是,如果未定义floatvar,则将打印0.000

如果你想在1行中这样做,你应该考虑创建一个自定义的枝条扩展:

编辑: 按照@Pierre Olivier的回答,您应该尝试:

{{ floatVar is defined ? floatVar|number_format(3, '.','') : '' }}

yourelement!=null
如果未定义yourelement将引发错误)

正确的顺序是:

{{ floatVar|default(0)|number_format(3, '.','') }}
  • 默认值(0):首先确保floatVar有一个默认值(即使它没有定义)
  • 数字\u格式(3,,”):然后格式化它
但是,如果未定义floatvar,则将打印0.000

如果你想在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和三元数确实解决了它。这只是一个遗憾的括号和优先级不适用于这些情况。。。