<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. JAVA中String字符串比较equals()和equalsIgnoreCase()的区别

    标签: equals和equalsIgnoreC 2012-11-11 16:03 65644人阅读 评论(0) 收藏 举报  分类: JAVA(3)  1.使用equals( )方法比较两个字符串是 ...

  2. 关于quartus ii软件中注释乱码问题的解决方法

    乱码现象: 解决办法: 打开文件所在工程找到该verilog文件(后缀名是.v),使用记事本打开,这时你会看到注释好好的没乱码,很高兴是不,不用着急.接下来点击文件再另存为,选择编码:UTF-8,点保 ...

  3. linux下简单好用的端口映射转发工具rinetd 转

    linux下简单好用的工具rinetd,实现端口映射/转发/重定向 官网地址http://www.boutell.com/rinetd 软件下载 wget http://www.boutell.com ...

  4. PHP curl_setopt函数用法介绍上篇

    最近,学习与实践了php中curl的知识点.在此做个初步的总结: 先看看对于它的基本介绍: curl_setopt函数是php中一个重要的函数,它可以模仿用户的一些行为,如模仿用户登录,注册等等一些用 ...

  5. apk 反编译工具的使用

    在学习android 开发的时候,我们经常回尝试使用到别人的apk,希望能了解别人怎么编写的代码,于是想要一个能实现其反编译的软件,将软件反编译出来,查看其代码. 工具/原料 反编译软件dex2jar ...

  6. 【View】之【SimpleWaveView】可多色可刷新的加速球、进度球【demo】

    当前版本:SimpleWaveView_v1.0.20140618 先看效果图,这个加速球是动态的,并且当调用了myView.setRefresh(0.8F);方法后可以从当前值动态降到0再升到80% ...

  7. 第四章 Spring.Net 如何管理您的类___让对象了解自己的容器

    我们在开发中,经常需要让对象了解自己所在的容器的信息,例如,有时我们需要让对象知道,对象所在容器的引用是什么,或者是对象在容器中的名称是什么 .Spring.Net 中提供了两个接口,我们使用这两个接 ...

  8. input 监听输入事件

    $("#" + inputId).on("input", function () { var checkboxId = $("#" + in ...

  9. Linux 防火墙:Netfilter

    一.Netfilter 简介 (1) Netfilter 是 Linux 内置的一种防火墙机制,我们一般也称之为数据包过滤机制,而 iptables 只是操作 netfilter 的一个命令行工具(2 ...

  10. <linux系统c语言生成.so文件,生成64位可执行文件,在64位系统中运行32位的可执行文件>

    1.linux 系统c语言生成.o文件,---->gcc -m64 -c -fPIC test.c -o test.o2.linux 系统c语言生成.so文件,----->gcc -sha ...