In PHP können wir mithilfe der Funktion überprüfen, ob ein Schlüssel in einem Array vorhanden ist array_key_exists()
.
In der Twig-Template-Sprache können wir überprüfen, ob eine Variable oder die Eigenschaft eines Objekts vorhanden ist, indem wir einfach eine if
Anweisung wie die folgende verwenden:
{% if app.user %}
do something here
{% else %}
do something else
{% endif %}
Aber wie überprüfen wir mit Twig , ob ein Schlüssel eines Arrays vorhanden ist? Ich habe es versucht {% if array.key %}
, aber es gibt mir einen Fehler:
Key "key" for array with keys "0, 1, 2, 3...648" does not exist
Da eine der wichtigsten Möglichkeiten zum Übergeben von Daten in eine Vorlage die Verwendung von Arrays ist, scheint es eine Möglichkeit zu geben, dies zu tun. Irgendwelche Gedanken?
php
arrays
twig
conditional
short-circuiting
user852610
quelle
quelle
data-value
.Antworten:
Zweig Beispiel:
{% if array.key is defined %} // do something {% else %} // do something else {% endif %}
quelle
{% if array.key %}
? Was stimmt damit nicht? In JS ist es eine vollkommen gültige Aussage, aber nicht in Twig!{% if array.key %}
ist gültig, aber es ist die Syntax, um zu überprüfen, ob der Array-Schlüssel leer ist. twig.sensiolabs.org/doc/tags/if.html#if{% if array[ key ] %}
oder verwenden{% if array[ key ] is defined %}
.array.key
versucht, auf den Indexschlüssel im Array zuzugreifen.Sie können die
keys
Zweigfunktion verwenden{% if myVar in someOtherArray|keys %}
quelle
Schnelle Antwort (TL; DR)
default
Filter erledigt werden .Detaillierte Antwort
Kontext
default
Filters.Problem
Lösung
default
Filter verwenden.default
Filter fängt alle Ausnahmen aufgrund einer undefinierten Variablen ab und ermöglicht das Kurzschließen eines alternativen Werts.default
Filter ist verkettbar.Beispiel01
Siehe auch
quelle