Я сделал google для этого, но не смог получить правильное решение. Может ли кто-нибудь помочь мне проверить, пуст ли ассоциативный массив или нет. Заранее спасибо.В smarty, как проверить, пуст ли ассоциативный массив или нет?
ответ
В 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
.
Вы можете поместить переменную непосредственно в оператор if, если вы уверены, что он всегда будет установлен (пустой или нет), например {if !$array}
. Если вы ищете нечто похожее на тернарный оператор, вы можете использовать модификатор переменной, называемый default например. $array|default:"empty"
. Также есть помощь in smarty docs и их forum. Использование пустого PHP также сработало для меня.
Кажется, что 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
.
Чтобы решить эту проблему, я сделал немного обходной путь: создал модификатор для Smarty с помощью следующего кода: 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
)
{if !($array|is_empty)}
Array is not empty
{else}
Array is empty
{/if}
Это будет выводить Array is empty
.
Примечание об использовании этого модификатора Agains используя @count
модификатор:
@count
будет подсчитать количество элементов внутри массива, в то время как этот модификатор будет сказать только тогда, когда она пуста, так что этот вариант лучше производительность мудрого
- 1. Как проверить, пуст или нет массив объектов?
- 2. Smarty Ассоциативный массив
- 3. Как проверить, пуст ли numpy пуст или нет?
- 4. Как проверить, пуст ли массив объектов или нет?
- 5. Как проверить, пуст ли файл или нет?
- 6. Как проверить, пуст ли @RequestParam или нет?
- 7. Как проверить, пуст ли байтовый пуст или нет?
- 8. Как проверить, пуст ли массив?
- 9. Как проверить, пуст ли массив?
- 10. Как проверить, пуст ли массив?
- 11. Как передать ассоциативный массив smarty на amChart
- 12. Двойной ассоциативный массив или индексируется + ассоциативный массив
- 13. доступа вложенной ассоциативный массив в шаблоне Smarty
- 14. Ассоциативный массив с динамическим ключом в Smarty
- 15. Как проверить UIView пуст или нет
- 16. Как проверить, пуст ли объект csv.DictReader или нет
- 17. Как проверить, существует ли ассоциативный массив в моем сценарии Bash?
- 18. проверить, что contenteditable div пуст или нет
- 19. Как проверить, пуст ли динамический массив?
- 20. массив элементов html пуст или нет
- 21. Проверьте, что массив PHP пуст или нет?
- 22. Как проверить, пуст ли пуст?
- 23. Как проверить, пуст ли пуст
- 24. Как проверить, является ли многомерный массив пустым или нет?
- 25. Проверить набор данных пуст или нет
- 26. PHP ~ Как проверить полностью ассоциативный массив
- 27. Как проверить, пуст ли TextView?
- 28. Как проверить, пуст ли файл в Джулии?
- 29. Как проверить, если ассоциативный массив имеет пустое или нулевое значение
- 30. Как проверить, содержит ли объект массива ассоциативный массив в php?
Прошу прощения, но мне трудно поверить, что вы положили «smarty array empty» в google и не смогли найти ответ? попробуйте некоторые подсказки для первого результата, такие как '! $ array' или' $ array | @count == 0', в зависимости от того, может ли ваш массив быть чем-то другим, кроме пустого или массивом, и вы хотите проверить это также.. – Nanne