Twigのifの判定(空文字、null、キーの存在、正規表現match)をまとめたぞ

Twigのifの判定(空文字、null、キーの存在、正規表現match)をまとめたぞ先日、twigの空判定、null判定、正規表現のマッチを調べたのでまとめました。

Twigで空判定とnull判定をする

Twigで空判定をする


{% if hogehoge %}...{%  endif %}

こうするだけで空の判定が出来ます。

ちなみに、hogehogeという変数自体が定義されていない場合はErrorになってしまいます。

そういう場合は

 {% if hogehoge is defined %}...{% endif %}

にしましょう。

Twigでnull判定をする

特に考えずに

{% if hogehoge is null %}...{% endif %}

とすればOKです。

Twigで空文字かつnull判定する

空文字とnullを同時に判定したい場合は以下の通りに書けばOKです。


{% if hogehoge is empty %}...{% endif %}

Twigで正規表現(preg_match)の判定する

twigでも正規表現使えるのかな?と思ったので調べてみました。

(そもそもTwigに正規表現を書く時点でオカシイよね?Model層で処理するべきだよね?という指摘はスルーします)

Twigで正規表現を書くとこんな感じ

{% set SAMPLE_STRING = “apple”

{% if SAMPLE_STRING matches ‘{^.*ap.*’ %}

MATCH

{% else %}

DON’T MATCH

{% endif %}

文法の解説

matches「match」じゃありません。matches」です。正規表現を表す関数です。

‘{    }’: 括弧が大事です。これが無いと、ただの文字列と見なされます。

Twigでキーの存在チェック

PHPでいうところのarray_key_existsに相当します。こちらのも変数の時と同じで definedを使えばOKです。

キーが無ければnullを返します。


{% if list.key is defined %}

hogehoge

{% endif %}

まとめ

他にもあったら追記します!

シェアする

  • このエントリーをはてなブックマークに追加

フォローする