Welches Konstrukt sollte ich verwenden, um zu überprüfen, ob ein Wert in einer Twig-Vorlage NULL ist?
php
twig
short-circuiting
Flauschige
quelle
quelle
{% if var is not null %}
isset()
Funktion,is defined
wird zurückkehren ,true
wenn eine Variable definiert ist und der Wert ist null.is_ sameas
muss{% if var is same as(false) %}
nicht{% if var is sameas(false) %}
gesehen werden Doc url => twig.symfony.com/doc/2.x/tests/sameas.htmlSo legen Sie Standardwerte in twig fest: http://twig.sensiolabs.org/doc/filters/default.html
Oder wenn Sie nicht möchten, dass es angezeigt wird, wenn null:
quelle
undefined or empty
undnull
?Ohne Annahmen lautet die Antwort:
Dies gilt jedoch nur, wenn dies
var
genau der Fall istNULL
und kein anderer Wert, der ausgewertet wirdfalse
(z. B. Null, leere Zeichenfolge und leeres Array). Außerdem wird es einen Fehler verursachen, wennvar
es nicht definiert ist. Ein sicherer Weg wäre:was verkürzt werden kann zu:
Wenn Sie dem
default
Filter kein Argument geben , wird davon ausgegangenNULL
(eine Art Standardstandard). Der kürzeste und sicherste Weg (ich weiß), um zu überprüfen, ob eine Variable leer ist (null, false, leerer String / Array usw.):quelle
Ich glaube nicht, dass du kannst. Dies liegt daran, dass eine Variable, die in der Zweigvorlage nicht definiert (nicht festgelegt) ist, wie
NULL
odernone
(in Zweigbegriffen) aussieht . Ich bin mir ziemlich sicher, dass dies dazu dient, das Auftreten fehlerhafter Zugriffsfehler in der Vorlage zu unterdrücken.Aufgrund des Fehlens einer "Identität" in Twig (
===
) ist dies das Beste, was Sie tun könnenWas bedeutet:
Was , wenn Ihr gut an Ihrer Art Jonglieren , bedeutet , dass Dinge wie
0
,''
,FALSE
,NULL
, und eine undefinierte var auch diese Aussage wahr machen wird.Mein Vorschlag ist, nach der Implementierung der Identität in Twig zu fragen.
quelle
{if var is none}
und was ist das PHP-Äquivalent?{% if abcxyz is none %}
wirdif (isset($context["abcxyz"])) { $_abcxyz_ = $context["abcxyz"]; } else { $_abcxyz_ = null; }
if ((null === $_abcxyz_)) { echo "hi"; }
. Wenn der Wert also undefiniert oder null ist, ist er wahr.none
ist ein Alias fürnull
ref .{% if var is empty %}
twig.sensiolabs.org/doc/tests/empty.html, was in PHP übersetzt wird,if (empty($var))
das anhand eines Falsey-Werts (!isset, null, 0, array(), "", false, "0", 0.0
) ausgewertet wird. Php.net/manual/en/function.empty.php Sie können auch{% if var is same as(var) %}
für identity (===
) verwenden. twig.sensiolabs.org/doc/tests/sameas.htmlquelle
if var is not null
.Sie können dazu auch eine Zeile verwenden:
quelle
Mit dem folgenden Code können Sie überprüfen, ob
quelle
Auch wenn Ihre Variable ein ARRAY ist , gibt es auch einige Optionen:
ODER
Dies funktioniert nur, wenn Ihr Array
is defined
AND istNULL
quelle