我应该使用什么结构来检查一个值是否为NULL在树枝模板?
当前回答
你也可以用一行来做到这一点:
{{ yourVariable is not defined ? "Not Assigned" : "Assigned" }}
其他回答
您可以使用下面的代码检查是否
{% if var is defined %}
var is variable is SET
{% endif %}
如何设置默认值在twig: http://twig.sensiolabs.org/doc/filters/default.html
{{ my_var | default("my_var doesn't exist") }}
或者如果你不希望它显示为空:
{{ my_var | default("") }}
我认为你做不到。这是因为如果一个变量在树枝模板中未定义(未设置),它看起来像NULL或none(在树枝术语中)。我很确定这是为了防止在模板中发生糟糕的访问错误。
由于在《Twig》中缺少“身份”(===),这是你所能做的最好的事情
{% if var == null %}
stuff in here
{% endif %}
翻译过来就是:
if ((isset($context['somethingnull']) ? $context['somethingnull'] : null) == null)
{
echo "stuff in here";
}
如果你擅长你的类型杂耍,这意味着像0,“,FALSE, NULL,和一个未定义的变量也会使该声明为真。
我的建议是要求将身份实现到Twig中。
//test if varibale exist
{% if var is defined %}
//todo
{% endif %}
//test if variable is not null
{% if var is not null %}
//todo
{% endif %}
具体取决于你需要什么:
Is null检查值是否为空: {%如果var为空%} {#做某事#} {% endif %} Is defined检查变量是否已定义: {%如果var没有定义%} {#做某事#} {% endif %}
此外,is sameas测试对两个值进行严格的类型比较,对于检查null以外的值(如false)可能会感兴趣:
{% if var is sameas(false) %}
{# do something %}
{% endif %}
推荐文章
- 原则-如何打印出真正的sql,而不仅仅是准备好的语句?
- 如何从关联PHP数组中获得第一项?
- PHP/MySQL插入一行然后获取id
- 我如何排序一个多维数组在PHP
- 如何在PHP中截断字符串最接近于一定数量的字符?
- PHP错误:“zip扩展名和unzip命令都没有,跳过。”
- Nginx提供下载。php文件,而不是执行它们
- Json_encode()转义正斜杠
- 如何在PHP中捕获cURL错误
- 如何要求一个分叉与作曲家?
- 如何在php中创建可选参数?
- 在文本文件中创建或写入/追加
- 为什么PHP的json_encode函数转换UTF-8字符串为十六进制实体?
- 在树枝模板得到当前的URL ?
- 如何从一个查询插入多行使用雄辩/流利