$arr = array("a"=>array(1,2,3),"b"=>array("c"=>array("d"=>array("e"=>"Tom","f"=>"BeiJing"))));
$smarty->assign("A",$arr);
$smarty->display("testTwo.html");
HTML code<!--testTwo.html-->{$A['b'].c['d'].e}
<!-- 输出Tom -->
{$A['b'].c['d'].e}  {$A['b'].c['d'].e}  {$A.b.c.d.e}a.b  ==a['b'] http://topic.csdn.net/u/20120612/22/8610da65-573c-462e-b4b6-2175551441b0.html

解决方案 »

  1.   

    {$A['b'].c['d'].e} 这种对吗? 怎么我的报错了。
      

  2.   

    确实,这三种情况在smarty中都可被解析:{$A['b'].c['d'].e}<br> <!-- Tom -->
      {$A.b.c.d.e}<br>    <!-- Tom -->
      {$A['b']['c']['d']['e']}<br> <!-- Tom -->但是,在php中:$A['b']和$A.b是有区别的。
      

  3.   

    smarty模板中的变量
    可以是关联变量,用‘.’联接,‘.’前面总是要包含后面的。
    可以是数字变量,如$A[0][1],当然也可换成键值$A['key1']['key2']
    具体参照
    http://0512on.com/bbs/forum.php?mod=viewthread&tid=2400&extra=