在smarty模板中使用这样的代码是可以的,{php} $arr = explode('|||','a|||b|||c');

但使用这样的就不可以了,为什么?{php}
$arr = explode('|||',$charr);
echo $arr[1]."的值".'<br />';
{/php}

$channelarr.ChannelitemConfig是后台的php中 $smarty->assign('charr',$arr[$id]);得到的,如果不包括在模板中的{php}中是可以正常显示的,包括在{php}中就不能显示了,为什么呢?谢谢
$charr是后台的php中 $smarty->assign('charr',$arr[$id]);得到的,如果不包括在模板中的{php}中是可以正常显示的,包括在{php}中就不能显示了,为什么呢?谢谢

因为你的$charr是smarty变量,不是PHP的变量 ;你程序assign给了smarty,可是你并没有赋值给模版里面的PHP变量啊!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-14
这就跟if差不多吧 你在模板页这样写 {if $id eq 1}....{/if}
$id同样的是在php页面通过assign获取到的:$smarty->assign('id',$id);
但是你这么写肯定是错的:{if {$id} eq 1}....{/if}
我感觉这两种没什么区别;
第2个回答  2012-05-17
将这部分改成{php}
$arr = explode('|||',$arr[$id]);
echo $arr[1]."的值".'<br />';
{/php}试试呢
第3个回答  2012-05-14
{php}引起的问题。。

你把PHP错误 提示开启吧,这样能看到是否报错。

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网