Какую конструкцию я должен использовать, чтобы проверить, является ли значение NULL в шаблоне Twig?Как проверить значение null в Twig?
ответ
В зависимости от того, что именно вам нужно:
is null
проверяет, является ли значение являетсяnull
:{% if var is null %} {# do something #} {% endif %}
is defined
проверяет, определена ли переменная:{% if var is not defined %} {# do something #} {% endif %}
Дополнительно тест is sameas
, который делает тип строгое сравнение двух значений, может представлять интерес для проверки других значений, чем null
(как false
):
{% if var is sameas(false) %}
{# do something %}
{% endif %}
Я не думаю, что вы можете. Это связано с тем, что если переменная не определена (не установлена) в шаблоне ветви, она выглядит как NULL
или none
(в терминологии веток). Я уверен, что это должно подавлять ошибки плохого доступа, возникающие в шаблоне.
Из-за отсутствия «идентичности» в Twig (===
), это лучшее, что вы можете сделать
{% if var == null %}
stuff in here
{% endif %}
что переводится:
if ((isset($context['somethingnull']) ? $context['somethingnull'] : null) == null)
{
echo "stuff in here";
}
Что, если вы хорошо в вашем type juggling , означает, что такие вещи, как 0
, ''
, FALSE
, NULL
, а также неопределенный var также сделают это утверждение истинным.
Мое предложение - попросить, чтобы личность была внедрена в Twig.
Kendall вправе предположить, что они реализуют его - у меня не было ничего, кроме хороших впечатлений, прося о том, чтобы вещи были реализованы в трекерном выпуске Twig's github. Они очень дружелюбны и профессиональны. – Shabbyrobe
@ kendall-hopkins Любопытно, когда целесообразно использовать '{if var is none}' и что такое эквивалент PHP? – noisebleed
@noisebleed '{% if abcxyz is none%}' становится 'if (isset ($ context [" abcxyz "])) {$ _abcxyz_ = $ context [" abcxyz "]; } else {$ _abcxyz_ = null; } ' ' if ((null === $ _abcxyz_)) {echo "hi"; } '. Таким образом, в основном, если значение не определено или равно null, оно будет истинным. –
Как установить значения по умолчанию в веточке: http://twig.sensiolabs.org/doc/filters/default.html
{{ my_var | default("my_var doesn't exist") }}
Или, если вы не хотите, чтобы показать, когда нуль:
{{ my_var | default("") }}
Так различается ли это 'undefined or empty' и' null'? – Fluffy
Кажется, что это правильный способ проверить ... Позор, у него не так много оборотов. –
Именно то, что я искал. Придется убедиться, что у вас есть | по умолчанию, который затем можно попробовать по умолчанию для другой переменной: {{my_var | default (my_var2)}} Я только что протестировал, но вы можете продолжить цепочку так: {{my_var | default (my_var2) | default («my_var и my_var2 не существуют»)}} –
вы можете использовать следующий код, чтобы проверить, является ли
{% if var is defined %}
var is variable is SET
{% endif %}
Без каких-либо предположений ответ:
{% if var is null %}
Но это будет справедливо только в том случае var
точно NULL
, а не любое другое значение, оценивается до false
(например, нуль, пустая строка и пустой массив). Кроме того, это приведет к ошибке, если var
не определен.Более безопасный способ будет:
{% if var is not defined or var is null %}
, который может быть сокращен до:
{% if var|default is null %}
Если вы не предоставите аргумент для default
фильтра, он предполагает NULL
(сортировка по умолчанию по умолчанию). Так самый короткий и безопасный путь (я знаю), чтобы проверить, является ли переменная пустая (нулевая, ложная, пустая строка/массив, и т.д.):
{% if var|default is empty %}
//test if varibale exist
{% if var is defined %}
//todo
{% endif %}
//test if variable is not null
{% if var is not null %}
//todo
{% endif %}
Вы также можете использовать одну линию, чтобы сделать это:
{{ yourVariable is not defined ? "Not Assigned" : "Assigned" }}
- 1. Twig проверить, истинно ли значение в массиве
- 2. Проверить значение NULL
- 3. Проверить значение Null в VB.NET
- 4. Как проверить значение NULL в случае кондиционирования?
- 5. Как проверить значение null в функции javaScript?
- 6. Как проверить значение null в jquery?
- 7. Как проверить значение null в методе operator ==?
- 8. Как проверить значение null в таблице?
- 9. Как проверить значение null в типе NULL в C#?
- 10. Проверить значение null in == override
- 11. Функция 'is null' in twig not working
- 12. Как округлить значение в Twig
- 13. Как проверить значение null для переменной Double
- 14. Как проверить значение null на StringBuilder?
- 15. Как проверить значение объекта null или нет?
- 16. Как проверить значение null для прокси
- 17. Linq, join и null, как проверить значение
- 18. Как проверить, имеет ли значение xml значение null в Flex?
- 19. Как проверить, имеет ли creativeId значение null
- 20. Как проверить значение ключа NSDictionary null?
- 21. Как проверить, возвращает ли он значение null?
- 22. NullPointerException - проверить значение null в классе
- 23. Twig проверить несколько значений
- 24. хочет проверить значение NULL в JQuery
- 25. Лучший способ проверить значение null в PHP
- 26. Twig проверить, есть ли дубликаты
- 27. Как проверить, не имеет ли значение DataReader значение null?
- 28. Как проверить значение NULL в NSString в iOS?
- 29. Проверить значение null и заменить на 0
- 30. Scala: Проверить значение null для списка
Теперь это правильный ответ для twig –
И чтобы проверить, не что-то не пустое, просто сделайте '{%, если var не null%}' –
обратите внимание на то, что: $ var == null вернет true с $ var равно 0, но значение $ var равно null возвращает false – daSn0wie