我想与smarty中的值进行比较:
{if $needle == '1'}
// Whatever
{else}
// ..
{/if}
$needle
的值为#34; 0" (串)。通过呼叫网站,我从来没有进入"否则"案件。有人可以告诉我为什么?
到目前为止我尝试了什么:
$needle
到INT演员($needle|intval
,(int) $needle
,$needle|string_format:"%d"
)
已使用===
和eq
运营商代替==
答案 0 :(得分:0)
看来你做错了什么。
如果在PHP中我有:
$smarty->assign('needle', '0'); // needle is string 0
在Smarty我有:
{if $needle == '1'}
// Whatever
{else}
// ..
{/if}
它正常运作:
// ..
正在显示。
如果这个简单的代码不适合你,你应该添加以下代码:
{$needle|var_dump}
在if
之前,这将显示您的值和类型。
您还应该确保完全执行此Smarty模板文件,因为如果不是这样,您就不会进入其他条件。