目录[+]
在用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’]这种。