本文目录一览:
- 1、thinkphp中的foreach循环使用错误,获取不到数据
- 2、ThinkPHP模板里怎么使用for循环
- 3、ThinkPHP for标签和foreach标签都用不了,不能循环输出,怎么办?
- 4、ThinkPHP模板里怎么使用 for循环
thinkphp中的foreach循环使用错误,获取不到数据
从逻辑上看你的代码是没有问题的。可以使用var_export 输出一下最终的$xusers 看下是否是你要的数据
$xusers = M('member')-where(['parentid'=12345])-field('id')-select();
foreach ($xusers as $key = $value) {
$pid1=($xusers[$key]['id']);
$xusers[$key]['erid']=M('member')-where(['parentid'=$pid1])-field('id')-select();
}
var_export($xusers);
输出的格式应该类似
array(
array(
'id'=123458,
'erid'=array(
array(
'id'=221451
),
array(
'id'=221452
),
),
),
array(
'id'=123457,
'erid'=array(
),
),
array(
'id'=123457,
'erid'=array(
array(
'id'=221453
),
),
),
)
ThinkPHP模板里怎么使用for循环
我是这么认为的!看手册,foreach循环,手册里有,如果是只是for循环,就要用到标签,这个标签的作用是在模板里执行php代码。
for($i=0;$i
ThinkPHP for标签和foreach标签都用不了,不能循环输出,怎么办?
模板里的代码看着是没问题的,不过看你的cache里面,start和end貌似都没有被赋上值。
检查检查是不是哪里冲突了。
另外你的ThinkPHP是什么版本的,按理来说变量名字应该会给个随机后缀比如__FOR_START_9560__这样。
ThinkPHP模板里怎么使用 for循环
ThinkPHP模板里使用 for循环
①使用For标签
用法:
for start="开始值" end="结束值" comparison="" step="步进值" name="循环变量名" /for
开始值、结束值、步进值和循环变量都可以支持变量,开始值和结束值是必须,其他是可选。comparison 的默认值是lt;;name的默认值是i,步进值的默认值是1,
举例如下:
for start="1" end="100"{$i}/for
解析后的代码是:
for ($i=1;$i100;$i+=1){ echo $i;}
②使用Php代码
Php代码可以和标签在模板文件中混合使用,可以在模板文件里面书写任意的PHP语句代码 ,包括下面两种方式:
第一种:使用php标签
例如:
phpecho 'Hello,world!';/php
我们建议需要使用PHP代码的时候尽量采用php标签,因为原生的PHP语法可能会被配置禁用而导致解析错误。
第二种:使用原生php代码
?php echo 'Hello,world!'; ?
注意:php标签或者php代码里面就不能再使用标签(包括普通标签和XML标签)了,因此下面的几种方式都是无效的:
phpeq name='name'value='value'value/eq/php
Php标签里面使用了eq标签,因此无效
更多使用帮助请参见官网手册: