我做了谷歌它,但無法得到正確的解決方案。任何人都可以幫助我檢查關聯數組是否爲空。提前致謝。在smarty中,如何檢查一個關聯數組是否爲空?
1
A
回答
3
在Smarty3,你可以使用PHP's empty() function:
somefile.php
<?PHP
$smarty->assign('array',array());
$smarty->display('template.tpl');
template.tpl
{if empty($array)}
Array is empty
{else}
Array is not not empty
{/if}
輸出Array is empty
。
0
只要你確定它總是被設置(空或不),就可以直接把變量放在if語句中,就像{if !$array}
一樣。如果你正在尋找類似於三元運算符的東西,那麼可以使用名爲default的變量修飾符。 $array|default:"empty"
。還有一些幫助in smarty docs和他們的forum。使用PHP的空也爲我工作。
1
看來Smarty
只是檢查數組是否存在。例如
somefile.php
<?PHP
$smarty->assign('array',array());
$smarty->display('template.tpl');
template.tpl
{if $array}
Array is set
{else}
Array is not set
{/if}
輸出Array is set
。在PHP
雖然...
<?PHP
$array = array();
if($array){
echo 'Array is set';
}else{
echo 'Array is not set';
}
輸出Array is not set
。
爲了解決這個問題,我做了一點變通方法:創建一個修改爲智者用下面的代碼: modifier.is_empty.php
<?PHP
function smarty_modifier_is_empty($input)
{
return empty($input);
}
?>
保存在您的SMARTY_DIR
片斷中,plugins
目錄裏面的名字modifier.is_empty.php
,你可以使用這樣的:
template.tpl
somefile.php
考慮) 0
這將輸出Array is empty
。
有關使用使用@count
修改此修改agains的說明:
@count
會計算一個數組中的元素的量,而這個修改只會告訴我們,如果它是空的,所以這個選項是更好的性能明智
相關問題
- 1. 如何檢查數組是否爲空?
- 2. 如何檢查數組是否爲空?
- 3. 如何檢查數組是否爲空
- 4. 如何檢查是否一個動態數組爲空
- 5. 如何檢查一個字符串數組是否爲空?
- 6. 如何檢查一個聲明數組是否爲空?
- 7. 我該如何檢查一個可爲空的整數數組是否爲空?
- 8. 如何檢查數組中的每個值是否爲空?
- 9. 檢查數組中是否有一個數組是空的
- 10. 如何在Ruby中檢查數組元素是否爲空?
- 11. 如何在php中檢查所有空值的關聯數組?
- 12. PHP和MySQL - 如何檢查是否一個數組爲空或不在函數
- 13. 如何檢查是否數組是空數組中的Javascript
- 14. 檢查數組是否在一行中爲空
- 15. 如何檢查一個字符串是否在Elixir中爲空
- 16. 在VC++中,如何檢查一個目錄是否爲空?
- 17. 如何檢查一個Textarea在Javascript或Jquery中是否爲空?
- 18. 在smarty中分配關聯數組
- 19. 檢查數組是否爲空元素
- 20. 檢查兩維數組是否爲空
- 21. 檢查數組是否爲空C++
- 22. 檢查數組是否爲空
- 23. 檢查json數組是否爲空
- 24. 檢查數組值是否爲空
- 25. 檢查數組元素是否爲空
- 26. 檢查數組是否爲空
- 27. 檢查數組是否爲空(vba excel)
- 28. Laravel檢查數組是否爲空
- 29. 檢查關聯數組中是否存在鍵
- 30. 如何檢查是否關聯從零
對不起,但我很難相信你把「聰明的數組空」在谷歌,並找不到答案?嘗試一些關於第一個結果的提示,比如'!$ array'或'$ array | @count == 0',這取決於你的數組是否可以是空的或數組,然後你想檢查以及.. – Nanne