我使用smarty标签与PHP和我的问题是关于!isset功能。 首先,我介绍如何创建和分配我的两个数组。然后我使用SMarty IF语句来比较条件,如果条件满足,则显示或不显示HTMLSmarty标签PHP isset语句
第一个从数据库创建的数组被指定为Smarty变量。
{section name=cart loop=$cart}
{/section}
第二阵列也从数据库中抽取,但我分配通过Smarty的捕获此阵:
{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。感谢任何见解,指出我可能做错了什么
你确定$ donate没有被设置?机会至少是被初始化的,这就是isset失败的原因,你可以尝试'empty($ donate)'。 – 2012-03-21 20:46:09
正面。我在数组$ donate上执行了一个var_dump。 – 2012-03-21 20:50:08
我想你可能会困惑,如果你做了'var_dump($ donate)'并且$ donate还没有被初始化,你会得到一个关于未定义变量的PHP通知。事实上,你没有收到这个错误,导致我相信它确实正在初始化,没有数据;尝试'空($ donate)'。 – 2012-03-21 20:52:41