Smarty标签PHP isset声明

时间:2012-03-21 20:42:00

标签: php smarty isset

我正在使用php的smarty标签,我的问题/问题是关于!isset功能。 首先,这是我如何创建和分配我的两个数组。然后我使用SMarty IF语句来比较条件,如果满足条件,则显示或不显示HTML

第一个数组从数据库创建,被指定为Smarty变量。

{section name=cart loop=$cart}
{/section}

第二个数组也是从数据库中提取的,但是我通过Smarty capture分配这个数组:

{capture name='donate' assign='donate'}
{/capture}

分配数组后,这里是if语句:

{if $cart[cart].Program == TT && !isset($donate)}
<td>Make a difference. Donate $10.00 to the ASPCA</td>
{/if}

即使没有设置$ donate数组,HTML仍会显示。欣赏任何洞察力,指出我可能做错了什么

2 个答案:

答案 0 :(得分:0)

未设置$donate数组或只是一个空数组,您是否尝试使用empty($donate)

答案 1 :(得分:0)

{capture name='donate' assign='donate'}
{/capture}
{$donate|var_dump}

会给你

string(0) "" 

因为只有isset(null) === false,您可能希望将表达式更改为

{if $cart[cart].Program == TT && $donate}

!empty($donate),如果您愿意的话。