回答:
正確に何が必要かに応じて:
is null
値がであるかどうかを確認しますnull
。
{% if var is null %}
{# do something #}
{% endif %}
is defined
変数が定義されているかどうかを確認します。
{% if var is not defined %}
{# do something #}
{% endif %}
さらに、is sameas
2つの値のタイプを厳密に比較するテストは、null
(false
)以外の値をチェックする場合に役立ちます。
{% if var is sameas(false) %}
{# do something %}
{% endif %}
isset()
機能、is defined
戻りますtrue
変数が定義されている場合、それの値はnullです。
is_ sameas
しなければなら{% if var is same as(false) %}
ない{% if var is sameas(false) %}
参照ドキュメントのURL => twig.symfony.com/doc/2.x/tests/sameas.html
twigでデフォルト値を設定する方法:http : //twig.sensiolabs.org/doc/filters/default.html
{{ my_var | default("my_var doesn't exist") }}
または、nullのときに表示したくない場合:
{{ my_var | default("") }}
undefined or empty
やnull
?
前提がなければ、答えは次のとおりです。
{% if var is null %}
しかし、これはtrueがtrueの場合にのみ当てはまり、評価される他の値(ゼロ、空の文字列、空の配列など)にvar
は当てはまりNULL
ませんfalse
。また、var
定義されていない場合はエラーとなります。より安全な方法は次のとおりです。
{% if var is not defined or var is null %}
これは次のように短縮できます。
{% if var|default is null %}
default
フィルターに引数を指定しない場合は、NULL
(デフォルトの一種)と見なされます。したがって、変数が空であるかどうか(null、false、空の文字列/配列など)を確認するための最短かつ最も安全な方法(私は知っています):
{% if var|default is empty %}
できないと思います。これは、変数がtwigテンプレートで定義されていない(設定されていない)場合、その変数は(小枝の用語では)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
、および未定義のvarはまた、その文が真のようになります。
IDをTwigに実装するように依頼することをお勧めします。
{if var is none}
で、PHPの同等機能は何ですか?
{% if abcxyz is none %}
なりif (isset($context["abcxyz"])) { $_abcxyz_ = $context["abcxyz"]; } else { $_abcxyz_ = null; }
if ((null === $_abcxyz_)) { echo "hi"; }
ます。したがって、基本的に値が未定義またはnullの場合、それはtrueになります。
{% if var is empty %}
twig.sensiolabs.org/doc/tests/empty.html PHPに変換if (empty($var))
falsey値に対して評価する(こと!isset, null, 0, array(), "", false, "0", 0.0
)php.net/manual/en/function.empty.phpすることができます{% if var is same as(var) %}
ID(===
)にも使用します。twig.sensiolabs.org/doc/tests/sameas.html
//test if varibale exist
{% if var is defined %}
//todo
{% endif %}
//test if variable is not null
{% if var is not null %}
//todo
{% endif %}
if var is not null
ます。
{% if var is not null %}