<ul>
<volist name="data" id="arr" key="k" mod="2">
<eq name="mod" value="0">
<li>{$k}...{$arr.id}---{$arr.user}---{$arr.email}</li>
</eq>
</volist>
</ul>

取出的值是:

  • 1...1---路飞---lufei@qq.com
  • 3...3---蜡笔乖欣---222@qq.com
  • 5...53---heh21033---fff@qq.com
  • 7...65---小心---xiaoxin@qq.com
  • 9...74---aa73f80eb8608a88a135---
  • 11...76---_呵呵3994---heh@qq.com
  • 13...78---5e36941b3d856737e815---xixi@qq.com

为什么取出的值是这样呢? 按自己的理解 应该是 $mod = $k%2; 然后 为0的输出来,怎么$k是基数呢,不应该是偶数吗?

随后查看缓存中的源码:

<ul>
<?php if (is_array($data)): $k = 0;
$__LIST__ = $data;
if (count($__LIST__) == 0) : echo "";
else: foreach ($__LIST__ as $key => $arr): $mod = ($k % 2);
++$k;
if (($mod) == "0"): ?>
<li><?php echo($k); ?>...<?php echo($arr["id"]); ?>---<?php echo($arr["user"]); ?>
---<?php echo($arr["email"]); ?></li><?php endif; endforeach; endif;
else: echo "";endif; ?>
</ul>

知道了,$k是从0开始的,而外面的$k却是1开始的

我们这样,自己定义一个$i:

<ul>
<!--取mod问题-->
<php>$i=0;</php>
<volist name="data" id="arr" key="k" mod="5">
<eq name="mod" value="0">
<li><php>echo $i;</php>...{$arr.id}---{$arr.user}---{$arr.email}</li>
</eq>
<php>$i++;</php>
</volist>
</ul>

值:

  • 0...1---路飞---lufei@qq.com
  • 2...3---蜡笔乖欣---222@qq.com
  • 4...53---heh21033---fff@qq.com
  • 6...65---小心---xiaoxin@qq.com
  • 8...74---aa73f80eb8608a88a135---
  • 10...76---_呵呵3994---heh@qq.com
  • 12...78---5e36941b3d856737e815---xixi@qq.com

答案显然就出来了,是thinkphp中 把mod 的$k值改变了。。。。。

thinkphp中 volist循环的 mod取值的问题的更多相关文章

  1. LoadRunner中,参数化时Unique取值方式的理解

    LoadRunner中,参数化时Unique取值方式的理解 2012年10月15日 18:10:36 瑞秋 阅读数:10028   在LoadRunner中进行参数化时,Parameter的取值设置有 ...

  2. springMVC 返回类型选择 以及 SpringMVC中model,modelMap.request,session取值顺序

    springMVC 返回类型选择 以及 SpringMVC中model,modelMap.request,session取值顺序 http://www.360doc.com/content/14/03 ...

  3. 关于readdir返回值中struct dirent.d_type的取值有关问题(转)

    关于readdir返回值中struct dirent.d_type的取值问题 原网页链接 http://www.gnu.org/software/libc/manual/html_node/Direc ...

  4. java中int,float,long,double取值范围,内存泄露

    java中int,float,long,double取值范围是多少? 写道 public class TestOutOfBound { public static void main(String[] ...

  5. 建议 for 语句的循环控制变量的取值采用“半开半闭区间”写法

    建议 for 语句的循环控制变量的取值采用“半开半闭区间”写法. #include <iostream> /* run this program using the console pau ...

  6. 【freemaker】之循环,判断,对象取值

    entity: public class Employee { private Integer id; private String name; private Integer age; privat ...

  7. C语言中 指针、引用和取值

    指针是一个存储计算机内存地址的变量.从指针指向的内存读取数据称作指针的取值.指针可以指向某些具体类型的变量地址,例如int.long和double.指针也可以是void类型.NULL指针和未初始化指针 ...

  8. spring学习之springMVC 返回类型选择 以及 SpringMVC中model,modelMap.request,session取值顺序

    spring mvc处理方法支持如下的返回方式:ModelAndView, Model, ModelMap, Map,View, String, void.下面将对具体的一一进行说明: ModelAn ...

  9. 翻页bug 在接口文档中应规范参数的取值区间

    <?php$a=array("red","green","blue","yellow","brown&q ...

随机推荐

  1. 【AngularJS】AngularJS整合Springmvc、Mybatis环境搭建

    近期想学习AngularJS的使用,网上搜了一圈后,折腾了半天解决bug后,成功使用AngularJS整合Springmvc.Spring.Mybatis搭建了一个开发环境.(这里Spring使用的版 ...

  2. erlang-百度云推送Android服务端功能实现-erlang

    百度云推送官方地址http://developer.baidu.com/wiki/index.php?title=docs/cplat/push 简单的介绍下原理: 百度云推送支持IOS和Androi ...

  3. NET Core 环境搭建和命令行CLI入门[转]

      NET Core 环境搭建和命令行CLI入门 时间:2016-07-06 01:48:19      阅读:258      评论:0      收藏:0      [点我收藏+]   标签: N ...

  4. openal 基础知识

    原文地址:http://blog.csdn.net/woker/article/details/8687380 一简介 OpenAL抽象出三种基本对象:buffers(缓冲区).sources(源). ...

  5. 解决 SharePoint 2010 拒绝访问爬网内容源错误的小技巧(禁用环回请求的两种方式)

    这里有一条解决在SharePoint 2010搜索爬网时遇到的“拒绝访问错误”的小技巧. 首先要检查默认内容访问帐户是否具有相应的访问权限,或者添加一条相应的爬网规则.如果目标资源库是一个ShareP ...

  6. JavaScript 取对象的值时用点和中括号的区别

    用点的时候 点后面是对象的真实属性名称, 用中括号的时候 中括号里面是变量或者字符串

  7. cesium图形上加载图片

    <!DOCTYPE html> <html> <head> <!-- Use correct character set. --> <meta c ...

  8. Don‘t talk.Just do it.

    对于算法,自己掌握的还是不多.并且我发现对于一个算法的理解非常重要.也许你会发现你貌似会用某总算法但是,他一旦变形,自己就无从下手. 还有就是对于算法.最好每次都自己敲,这样不仅能添加对于算法的熟度. ...

  9. HTML的框架结构

    <html> <head> <title>HTML的框架结构</title> </head> <frameset frameborde ...

  10. Java 类设计----Java类的继承

    Java类的继承 为描述和处理个人信息,定义类Person: public class Person { public String name; public inat age; public Dat ...