PHPでは、関数array_key_exists()
を使用して、配列にキーが存在するかどうかを確認できます。
Twigテンプレート言語では、次のようにif
ステートメントを使用するだけで、変数またはオブジェクトのプロパティが存在するかどうかを確認できます。
{% if app.user %}
do something here
{% else %}
do something else
{% endif %}
しかし、Twigを使用してarrayのキーが存在するかどうかを確認するにはどうすればよいですか?私は試した {% if array.key %}
、しかしそれは私にエラーを与えます:
Key "key" for array with keys "0, 1, 2, 3...648" does not exist
データをテンプレートに渡す主な方法の1つは配列を使用することであるため、これを行う何らかの方法があるはずです。何かご意見は?
小枝の例:
{% if array.key is defined %}
// do something
{% else %}
// do something else
{% endif %}
keys
twig関数を使用できます
{% if myVar in someOtherArray|keys %}
default
フィルターを使用して処理できます。default
フィルターの汎用使用。default
フィルターを使用できます。default
フィルターは、未定義の変数による例外をキャッチし、代替値の短絡置換を許可します。default
フィルターはチェーン可能です。{#-************************************* *** 連想配列の単一キーのテスト -#} {%-set mystring = myarray ['key-no-existo'] | default( '__ BLANK__ ')-%} {#-*********************************** ******** 連想配列の複数キーのテスト -#} {%-set mystring = myarray ['alpha'] | default(myarray ['bravo']) | default(myarray ['charlie']) | default( '__ BLANK __') -%}