source

Twig에서 null을 확인하는 방법

manycodes 2022. 10. 26. 21:11
반응형

Twig에서 null을 확인하는 방법

Twig 템플릿에서 값이 NULL인지 확인하려면 어떤 구성을 사용해야 합니까?

필요한 항목에 따라 다음 작업을 수행합니다.

  • is null 값이 다음 값인지 아닌지를 확인합니다.null:

     {% if var is null %}
         {# do something #}
     {% endif %}
    
  • is defined 는 변수가 정의되어 있는지 여부를 확인합니다.

     {% if var is not defined %}
         {# do something #}
     {% endif %}
    

또한 두 값을 형식적으로 엄격하게 비교하는 검정은 다음 이외의 값을 확인하는 데 관심이 있을 수 있습니다.null(마치false):

{% if var is sameas(false) %}
    {# do something %}
{% endif %}

twig에서 기본값을 설정하는 방법:http://twig.sensiolabs.org/doc/filters/default.html

{{ my_var | default("my_var doesn't exist") }}

또는 null일 때 표시하지 않으려면 다음을 수행합니다.

{{ my_var | default("") }}

어떠한 전제 조건도 없이 답은 다음과 같습니다.

{% if var is null %}

하지만 이것은 오직var바로 그렇다NULL, 및 다른 값은 평가하지 않습니다.false(제로, 빈 문자열, 빈 배열 등).게다가, 만약 그렇다면 에러가 발생할 것이다.var정의되어 있지 않습니다.보다 안전한 방법은 다음과 같습니다.

{% if var is not defined or var is null %}

요약하면 다음과 같습니다.

{% if var|default is null %}

에 인수를 지정하지 않으면default필터, 이 필터는NULL(디폴트의 디폴트값).따라서 변수가 비어 있는지 확인하는 가장 짧고 안전한 방법(null, false, 빈 문자열/array 등)은 다음과 같습니다.

{% if var|default is empty %}

난 네가 할 수 있다고 생각하지 않아.이는 변수가 twig 템플릿에 정의되지 않은(설정되지 않은) 경우 다음과 같이 보이기 때문입니다.NULL또는none(가지로 표현하면)이는 템플릿에서 잘못된 액세스 오류가 발생하는 것을 방지하기 위한 것이라고 확신합니다.

Twig에서는 '아이덴티티'가 없기 때문에 (===이 방법이 최선입니다.

{% if var == null %}
    stuff in here
{% endif %}

즉, 다음과 같습니다.

if ((isset($context['somethingnull']) ? $context['somethingnull'] : null) == null)
{
  echo "stuff in here";
}

만약 당신이 저글링을 잘한다면, 그 말은...0,'',FALSE,NULL정의되지 않은 var도 이 스테이트먼트를 true로 만듭니다.

제 제안은 트위그에 아이덴티티를 구현하도록 요청하는 것입니다.

한 줄을 사용하여 이 작업을 수행할 수도 있습니다.

{{ yourVariable is not defined ? "Not Assigned" : "Assigned" }}
     //test if varibale exist
     {% if var is defined %}
         //todo
     {% endif %}

     //test if variable is not null
     {% if var is not null %}
         //todo
     {% endif %}

다음 코드를 사용하여 다음 코드 중 하나를 체크할 수 있는지 확인할 수 있습니다.

{% if var is defined %}

var is variable is SET

{% endif %}

또, 변수가 어레이인 경우는, 다음의 옵션도 몇개인가 있습니다.

{% if arrayVariable[0] is defined %} 
    #if variable is not null#
{% endif %}

또는

{% if arrayVariable|length > 0 %} 
    #if variable is not null# 
{% endif %}

이 작업은 어레이가is defined그리고NULL

언급URL : https://stackoverflow.com/questions/3264889/how-to-check-for-null-in-twig

반응형