日期:2014-05-17  浏览次数:20387 次

thinkphp的问题弄了半天了,还是不知道,各位大神帮忙看看吧
控制器中的代码:
public function testt(){
//$title="练习册";
//$content='<br>'.$_GET['name'];
//$this->assign('title',$title);
$User = M('name');
$list = $User->select();
$this->assign('list',$list);
$this->assign("title","SMARTY测试");
$this->display();
}
模板中的代码:
{$title}<br />
<hr />
<foreach name="list" item="vo">
{$vo.age}{$vo.name}<hr />
</foreach>
重要去掉foreach部分就正常,否则就会出显这样
syntax error, unexpected ')', expecting T_VARIABLE or '$' D:\AppServ\www\App\admin\Runtime\Cache\6e178638460c8ba2282739c247c2ce14.php 第 10 行.

cache文件中的代码为:
<body>
<?php echo ($title); ?><br />
<hr />
<?php if(is_array($)): foreach($ as $key=>$): echo ($vo["age"]); echo ($vo["name"]); ?><hr /><?php endforeach; endif; ?>
</body>
看来好久也没有头绪,怎么办啊?
thinkphp foreach

------解决方案--------------------
list是空 你自己在检查下
------解决方案--------------------
public function _foreach($attr,$content) {
        static $_iterateParseCache = array();
        //如果已经解析过,则直接返回变量值
        $cacheIterateId = md5($attr.$content);
        if(isset($_iterateParseCache[$cacheIterateId]))
            return $_iterateParseCache[$cacheIterateId];
        $tag        =   $this->parseXmlAttr($attr,'foreach');
        $name       =   $tag['name'];
        $item       =   $tag['item'];
        $key        =   !empty($tag['key'])?$tag['key']:'key';