如何在 Twig 中检查 null ?
我应该使用什么构造来检查 Twig 模板中的值是否为 NULL?
What construct should I use to check whether a value is NULL in a Twig template?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我应该使用什么构造来检查 Twig 模板中的值是否为 NULL?
What construct should I use to check whether a value is NULL in a Twig template?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(8)
根据您的具体需要:
is null
检查值是否为null
:已定义< /code>
检查变量是否已定义:
此外
是Sameas
测试对两个值进行类型严格比较,可能对检查null
以外的值(如false
)感兴趣:Depending on what exactly you need:
is null
checks whether the value isnull
:is defined
checks whether the variable is defined:Additionally the
is sameas
test, which does a type strict comparison of two values, might be of interest for checking values other thannull
(likefalse
):如何在twig中设置默认值: http://twig.sensiolabs.org/doc/filters /default.html
或者如果你不希望它在为空时显示:
How to set default values in twig: http://twig.sensiolabs.org/doc/filters/default.html
Or if you don't want it to display when null:
在没有任何假设的情况下,答案是:
但只有当
var
恰好是NULL
,而不是任何其他计算结果为false
的值时,这才是正确的(例如零、空字符串和空数组)。另外,如果没有定义var
,也会导致错误。更安全的方法是:可以缩短为:
如果您没有向
default
过滤器提供参数,则它假定为NULL
(某种默认值)。因此,检查变量是否为空(null、false、空字符串/数组等)的最短、最安全的方法(我知道):Without any assumptions the answer is:
But this will be true only if
var
is exactlyNULL
, and not any other value that evaluates tofalse
(such as zero, empty string and empty array). Besides, it will cause an error ifvar
is not defined. A safer way would be:which can be shortened to:
If you don't provide an argument to the
default
filter, it assumesNULL
(sort of default default). So the shortest and safest way (I know) to check whether a variable is empty (null, false, empty string/array, etc):我认为你不能。这是因为,如果变量在 twig 模板中未定义(未设置),则它看起来像
NULL
或none
(用 twig 术语来说)。我很确定这是为了抑制模板中发生错误的访问错误。由于 Twig 中缺乏“身份”(
===
),这是你能做的最好的事情,这意味着:
如果你擅长你的 类型杂耍,意味着诸如
0
、''< /code>、
FALSE
、NULL
和未定义的 var 也将使该语句为 true。我的建议是要求将身份实施到 Twig 中。
I don't think you can. This is because if a variable is undefined (not set) in the twig template, it looks like
NULL
ornone
(in twig terms). I'm pretty sure this is to suppress bad access errors from occurring in the template.Due to the lack of a "identity" in Twig (
===
) this is the best you can doWhich translates to:
Which if your good at your type juggling, means that things such as
0
,''
,FALSE
,NULL
, and an undefined var will also make that statement true.My suggest is to ask for the identity to be implemented into Twig.
您还可以使用一行来完成此操作:
You can also use one line to do that:
您可以使用以下代码来检查是否
you can use the following code to check whether
此外,如果您的变量是ARRAY,也有几个选项:
或者
只有当您的数组
已定义
且为NULL
时,这才有效Also if your variable is an ARRAY, there are few options too:
OR
This will only works if your array
is defined
AND isNULL