这是PHP代码:
if ($var===0) {do something}
Run Code Online (Sandbox Code Playgroud)
只有在$var实际为0 时才会"做某事" (如果$var没有设置,它就不起作用,所以一切都好).
但是,Twig不支持===运算符,如果我写:
{% if var==0 %}do something{% endif %}
Run Code Online (Sandbox Code Playgroud)
它$var总是"做某事"(即使没有设定).为了解决这个问题,我编写了这样一个代码:
{% if var matches 0 %}do something{% endif %}
Run Code Online (Sandbox Code Playgroud)
这是一个正确的方法=在Twig做比较,或者我在这里做错了什么?如果这是错的,应该如何解决?
Alv*_*unk 11
您需要same as在 Twig 中使用进行===比较:
{% set var1=0 %}
{% set var2='0' %}
{% if var1 is same as( 0 ) %}
var1 is 0.
{% else %}
var1 is not zero.
{% endif %}
{% if var2 is same as( 0 ) %}
var2 is 0.
{% else %}
var2 is not 0.
{% endif %}
{% if var2 is same as( '0' ) %}
var2 is '0'.
{% else %}
var2 is not '0'.
{% endif %}
Run Code Online (Sandbox Code Playgroud)
这是一个 twigfiddle 显示它的运行情况:
Here 的文档也same as表明它等同于===. 希望对您有帮助!
| 归档时间: |
|
| 查看次数: |
3078 次 |
| 最近记录: |