thinkphp使用foreach遍历的方法

  我们在做一些需求的时候可能会对遍历的上限有一定的要求,这时候就需要对上限进行限定

    首先使用foreach遍历的输出数组相比较于volist功能较少

    volist标签主要用于在模板中循环输出数据集或者多维数组

     具体的解释参考手册。

但是foreach可以对对象进行遍历输出,而volist通常用于输出数组。

    例如下面的代码:

每次循环做++运算,但是加一个判断语句就可以对其进行限制上限,继续执行下面的判断方法。

foreach($list1 as &$rs){
        $Num++;
        if($Num<10){
       $rs[‘tx_zt‘]=1;
        $ppdd = M(‘ppdd‘)->where(array(‘id‘=>$rs[‘r_id‘]))->find();
       if($Pid==$ppdd[‘p_id‘]) $rs[‘ts_zt‘]=0;
        if(! empty($ppdd[‘old_pid‘])){
            if($Pid==$ppdd[‘old_pid‘]) $rs[‘tx_zt‘]=0;
         if($ppdd[‘skt‘]==0) $rs[‘tx_zt‘]=0;

}
          if($count1==$Num) $rs[‘tx_zt‘]=0;
        }
    }

时间: 2024-11-08 19:26:19

thinkphp使用foreach遍历的方法的相关文章

JavaScript中的数组遍历forEach()与map()方法以及兼容写法

原理: 高级浏览器支持forEach方法 语法:forEach和map都支持2个参数:一个是回调函数(item,index,list)和上下文: forEach:用来遍历数组中的每一项:这个方法执行是没有返回值的,对原来数组也没有影响: 数组中有几项,那么传递进去的匿名回调函数就需要执行几次: 每一次执行匿名函数的时候,还给其传递了三个参数值:数组中的当前项item,当前项的索引index,原始数组input: 理论上这个方法是没有返回值的,仅仅是遍历数组中的每一项,不对原来数组进行修改:但是我

c#--foreach遍历的用法与split的用法

一. foreach循环用于列举出集合中所有的元素,foreach语句中的表达式由关键字in隔开的两个项组成.in右边的项是集合名,in左边的项是变量名,用来存放该集合中的每个元素.该循环的运行过程如下:每一次循环时,从集合中取出一个新的元素值.放到只读变量中去,如果括号中的整个表达式返回值为true,foreach块中的语句就能够执行.一旦集合中的元素都已经被访问到,整个表达式的值为false,控制流程就转入到foreach块后面的执行语句. foreach语句经常与数组一起使用,下面实例将通

数组-foreach遍历

在编辑器中定义了一个整型数组 scores ,保存学生成绩信息,通过 Arrays 类的 sort 方法对成绩数组进行排序,然后使用 foreach 遍历输出数组中的元素. 请在第 10.14 行中将代码填写完整 运行结果为: -------------------------------------------------------------------------------------- import java.util.Arrays; public class HelloWorld

Foreach遍历

前天在项目中遇到一个问题,foreach遍历过程中修改responses中的对象,其中responses的类型:IEnumerable<Order>,代码如下: foreach (Order item in responses) { if (string.IsNullOrEmpty(item.Creator)) item.Creator = item.Creator2; } 结果可想而知,response的对象并没有被改变.这是为什么? 弄清楚问题之前需要明白什么是foreach.foreac

foreach遍历扩展(二)

一.前言 假设存在一个数组,其遍历模式是根据索引进行遍历的:又假设存在一个HashTable,其遍历模式是根据键值进行遍历的:无论哪种集合,如果它们的遍历没有一个共同的接口,那么在客户端进行调用的时候,就需要对每种集合的具体类型进行它们各自的具体代码编写,当需求发生变化时,就必须修改我们的代码.并且客户端过多的关注集合内部的实现,代码的移植性就会变差,违反了开闭原则,这个时候迭代器就诞生了,现在我们来根据上一章 foreach遍历原理(一)实现我们自己的迭代器. 二.代码示例 class Pro

Smarty模板技术之foreach遍历数组实例全面讲解

一.item属性用法 <?php $arr = array(600, 851, 7412); $smarty->assign('testarrg', $arr); ?> 用Smarty中的foreach方法来遍历并输出这个数组 <dl> <dt>foreach中item属性用法</dt> {foreach from=$testarrg item=test} <dd>{$test}</dd> {/foreach} </dl&

foreach遍历数组、数组的转置与方阵的迹

1 public class Copy1 { 2 3 public static void main(String[] args) { 4 array1(); //如果不初始化元素,默认为0 5 int [][] a = new int [][]{{1,3,2,5,7},{5,9,3,4,2}}; 6 int [][] b = new int [a[1].length][a.length]; 7 for(int i=0;i<b.length;i++){ //数组的转置 8 for(int j =

YII框架中可以使用foreach遍历对象以及可以使用数组形式直接访问对象的原因

YII框架中可以使用foreach遍历对象以及可以使用数组形式直接访问对象的原因在YII框架的使用过程中,我们可以使用foreach直接遍历findAll等方法返回的对象的属性为什么呢?其实这与CModel实现的接口相关,接下来我们看下其实现的整个过程对于一个我们定义的model,它会继承虚类CActiveRecord,CActiveRecord类继承于CModel,如下所示: class special extends CActiveRecord { } abstract class CAct

可以使用foreach遍历循环的条件

大话C#中能使用foreach的集合的实现 转自:http://www.cnblogs.com/tangzhengyue/p/3339936.html 大家都知道foreach的语法: foreach(var item in items) { Console.Writeln(item); } 通过这样一个简单的语句,就能实现遍历集合items中的所有元素. 那么,集合类(注意不是集合中的元素的类)是要满足什么条件才能用foreach遍历呢? 就像买衣服需要去找到卖衣服的人一样,要使用foreac