2016-09-19 23 views
0

爲什麼這個代碼片段的工作:爲什麼不能devide

<TD width="10%" .............. 

{if ............} PRINT <BR> 

    {else} 
    {if $a>=$b} something {$a-$b-86400|date_format:"%d"} days {/if} 
    {/if} 

</TD> 

但是這一次沒有:

<TD width="10%" .............. 

{if ............} PRINT <BR> 

    {else} 
    {if $a>=$b} something {($a-$b)/2|date_format:"%d"} days {/if} 
    {/if} 

</TD> 

我只是改變了這個等式$ A- $ B-86400至($ a- $ b)/ 2和網站不起作用。

+1

($ A- $ B )/ 2需要(($ a- $ b)/ 2) –

+0

這甚至不是有效的PHP代碼。請正確標記您的問題。 – Sherif

+1

我不確定'date_format'是否接受float作爲輸入。您可能需要將其轉換爲整數。 – arkascha

回答

1

這應該工作

{if $a>=$b} something {(($a-$b)/2)|ceil|date_format:"%d"} days {/if} 

正如在評論中提到把計算括號和小數以來的時間戳應該是無效的:它圓了|ceil

+0

它仍然無法正常工作。只有這樣才能運行: '{if $ a> = $ b}當我使用方括號時,它會崩潰。 –

+0

用'$ a'和'$ b'作爲純整數而不是變量來試試它,我懷疑你的變量不能正確解析。上面的例子完全適合我。 – AlexG