目录[+]
在用thinkphp写项目的时候,发现一个问题:foreach标签循环显示数据时,如果在该标签中需要用到IF标签来判断就会出现问题,请看如下代码:
1 | < if condition= "$id < 5 " > |
这种方式是不会出问题,但是遇到二位数组变量或者三维数组变量比较的时候,就会对比不出来,请看代码:
1 | < foreach name= "datas.cats_datas" item= "cats" > |
2 | <option value= "{$cats.cat_id}" < if condition= "$datas.datas.cat_id eq $cats.cat_id " >selected= "selected" </ if > >{ $cats .cat_name}</option> |
解决方法:
1 | < foreach name= "datas.cats_datas" item= "cats" > |
2 | <option value= "{$cats.cat_id}" < if condition= "$datas['datas']['cat_id'] eq $cats['cat_id'] " >selected= "selected" </ if > >{ $cats .cat_name}</option> |
原因:
第一层标签以下不支持$a.name这种点的写法,所以大家尽量使用$a[‘name’]这种。