2014-09-05 85 views
1

我想比較值智者:Smarty的比較字符串

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

$needle的值爲 「0」(串)。通過致電該網站,我從未進入「其他」案例。有人可以告訴我爲什麼?

是我迄今爲止嘗試:

$needle到INT演員(由$needle|intval(int) $needle$needle|string_format:"%d") 使用===eq操盤==

回答

0

看來你做了錯事。

如果在PHP中我有:

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

和Smarty的我:

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

這是工作,因爲它應該:

// .. 

正在顯示。

如果這個簡單的代碼不會爲你工作,你應該添加以下代碼:

{$needle|var_dump} 

if之前,這將顯示你的價值和類型。

你還應該確保這個Smarty模板文件是完全執行的,因爲如果它不是這樣的話那麼你不會去其他條件。