Smarty比较字符串

时间:2014-09-05 06:34:01

标签: string smarty

我想与smarty中的值进行比较:

{if $needle == '1'}
// Whatever
{else}
// ..
{/if}

$needle的值为#34; 0" (串)。通过呼叫网站,我从来没有进入"否则"案件。有人可以告诉我为什么?

到目前为止我尝试了什么:

$needle到INT演员($needle|intval(int) $needle$needle|string_format:"%d") 已使用===eq运营商代替==

1 个答案:

答案 0 :(得分:0)

看来你做错了什么。

如果在PHP中我有:

$smarty->assign('needle', '0'); // needle is string 0

在Smarty我有:

{if $needle == '1'}
    // Whatever
{else}
    // ..
{/if}

它正常运作:

// .. 
正在显示

如果这个简单的代码不适合你,你应该添加以下代码:

{$needle|var_dump}

if之前,这将显示您的值和类型。

您还应该确保完全执行此Smarty模板文件,因为如果不是这样,您就不会进入其他条件。