我應該使用什麼構造來檢查Twig模板中的值是否爲NULL?如何檢查小枝中的null?
回答
根據你需要的東西:
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
(以樹枝形式表示)。我很確定這是爲了抑制在模板中發生錯誤的訪問錯誤。
由於缺乏嫩枝一個「身份」(===
),這是最好的,你可以做
{% 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中。
肯德爾是正確的,建議他們實現它 - 我有什麼,但好的經驗要求的東西要在枝條的GitHub的問題跟蹤落實。他們非常友好和專業。 – Shabbyrobe 2010-07-17 05:36:06
@ kendall-hopkins好奇,什麼時候適合使用'{if var is none}'以及什麼是PHP等價物? – noisebleed 2012-02-07 16:19:07
@noisebleed'{%if abcxyz is none%}''if(isset($ context [「abcxyz」])){$ _abcxyz_ = $ context [「abcxyz」]; } else {$ _abcxyz_ = null; } if((null === $ _abcxyz_)){echo「hi」;}' ' }'。所以基本上,如果該值是未定義的或爲空,那將是事實。 – 2012-02-08 04:24:21
如何在樹枝設置默認值:http://twig.sensiolabs.org/doc/filters/default.html
{{ my_var | default("my_var doesn't exist") }}
或者,如果你不希望它顯示當空:
{{ my_var | default("") }}
那麼它是否區分'undefined或empty'和'null'? – Fluffy 2011-10-27 08:26:44
看起來像這樣是檢查的正確方法...恥辱它沒有很多upvotes。 – 2012-02-29 19:44:47
正是我在找的東西。 必須確保您擁有|默認情況下,您可以嘗試默認其他變量,如: {{my_var |默認(my_var2)}} 我剛測試過,但你甚至可以繼續鏈接如下: {{my_var |默認(my_var2)|默認(「my_var和my_var2不存在」)}} – 2013-10-01 10:17:56
您可以使用下面的代碼來檢查是否
{% 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
(默認排序默認的)。所以,最短,最安全的方式(我知道)檢查變量是否爲空(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. 如何檢查Scala.js中的null?
- 2. MVC如何檢查model.property中的NULL
- 3. 函數'null'在小枝不起作用
- 4. 如何在javaScript函數中檢查null?
- 5. 如何檢查null是否在流中?
- 6. 如何在C++中檢查null類
- 7. 如何檢查目標C中的字符數組爲null null
- 8. 什麼檢查枝條文件的語法。 (小枝文件語法檢查程序)
- 9. 小枝內部的小枝模板
- 10. 在LINQ查詢中檢查NULL的小數點
- 11. 如何使用redis-scripto和redis DB在NULL中檢查null \ nil?
- 12. 的Java:檢查null
- 13. 如何檢查python中的float大小?
- 14. 如何檢查樹枝中是否存在捆綁包?
- 15. 如何檢查一個塊是否在樹枝中被覆蓋?
- 16. Null值檢查
- 17. NSData null檢查
- 18. 檢查空,== NULL VS = NULL
- 19. 如何檢查它是否返回null?
- 20. php mysql如何用php檢查NULL列
- 21. 如何爲枚舉執行null檢查
- 22. 如何在scala.math.BigDecimal上檢查null?
- 23. 如何檢查SqlDataSource.SelectCommand是否返回null
- 24. 小枝檢查數值是否在數組
- 25. 小枝{%if myId in myArray%}不檢查唯一值?
- 26. 在Java中檢查NULL
- 27. 如何檢查是否在樹枝模板存在塊 - Symfony2的
- 28. Java string null檢查!= null或!str.equals(null)?
- 29. MySQL如何檢查列表中的任何值是否爲NULL?
- 30. 如何檢查rms中的第一個值在j2me中爲null?
這是現在的小枝 – 2011-09-11 00:32:31
的正確答案並檢查是否有不爲空,只需執行'{%if var is null'} – 2012-09-06 19:31:00
快速注意到:$ var == null將返回true與$ var是0,但$ var是null將返回false – daSn0wie 2013-02-13 21:32:05