foreach语句遍历数组
foreach语句用于循环遍历数组,每进行一次循环,当前数组元素的值就会被赋值给变量value(也可以是其它变量),数组指针会逐一的移动。

代码示例:
foreach($array as $value){  //$array要遍历的数组,$value为指针指向数组当前的值,as起到赋值的作用
  code to executed;
}
foreach语句也可以获得数组的键名,如下: 
代码示例:
foreach($array as $key => $value){
  echo $key "-" $value. "<br />";
}

echo()函数
each()的作用是将数组当前元素的键值对拆成一个新数组,并把下一个元素作为当前元素。比如Array(...,'Robert'=>'Bob',...)中的'Robert'=>'Bob'键值对,拆成Array([1]=>'Bob',[value]=>'Bob',[0]=>'Robert',[key]=>'Robert')数组,拆成两套(共四个键值对)返回,0和1的序号对,key和value的名-值对,使用其中一套就可以了。

例:

代码示例:
<?Php
$prices=Array('Tries' => 100, 'Oil' => 10, 'Spank Plugs' => 4);
while($elements = each($prices)){
  echo $elements['key'];  //echo $elements[0];
  echo " - ";
  echo $elements['value'];   //echo $element[1];
  echo "<br />";
}

输出结果:
Tires-100
Oil-10
Spank Plugs-4

list()函数遍历数组
list()函数可以用来将一个数组分解为一系列的值。list()常与each()一起使用。但是list()也可以不与each()一起使用,例如:list($key, $value) = explode()(":", $v);
list($key, $value) = each($array);   //$key,$value可以任意命名变量名
该句是将each返回的数组当前的0,1位置的元素赋值给$key,$value变量。
例子:

代码示例:
<?php
$prices=Array('Tries' => 100, 'Oil' => 10, 'Spank Plugs' => 4);
while(list($product, $prices) = each($prices);){
  echo $product "-" $prices;
  echo "<br />";
}

输出结果:
Tires-100
Oil-10
Spank Plugs-4

另一种实现方法:

代码示例:
<?php
$prices=Array('Tries' => 100, 'Oil' => 10, 'Spank Plugs' => 4);
list($product, $price) = $each($prices);
echo "$product - $price";  //输出第一个数组
$next = $next($prices);   // 指针后移
echo $next;
使用while、each与list函数组合遍历二维数组的方法
<?php
$contact=array(
'gao'=>array('ID'=>1,'name'=>'高某','company'=>'A公司','addr'=>'北京市','phonenumber'=>'(010)98765432','email'=>'gao@mail.com'),
'li'=>array('ID'=>2,'name'=>'李某','company'=>'B公司','addr'=>'上海市','phonenumber'=>'(021)98765432','email'=>'li@mail.com'),
'ma'=>array('ID'=>3,'name'=>'马某','company'=>'C公司','addr'=>'重庆市','phonenumber'=>'(023)98765432','email'=>'ma@mail.com'),
'fan'=>array('ID'=>4,'name'=>'范某','company'=>'D公司','addr'=>'天津市','phonenumber'=>'(022)98765432','email'=>'fan@mail.com')
); while(list($key,$value)=each($contact)){
while(list($name,$info)=each($value)){
echo $name.':'.$info.'<br>';
}
echo "------------------------------------<br>";
}
?>

php中使用while、each与list函数组合遍历二维数组的效果:

list与mysql_fetch_row():

mysql_fetch_row():从结果集中取得一行作为枚举数组.

数据表字段:id,country,animal,cname

 echo '<table cellpadding="10" border="1">';

    echo '<tr><th>字段1</th><th>字段2</th><th>字段3</th><th>字段4</th></tr>';
while(list($id,$country,$animal,$cname)=mysql_fetch_row($result)){
echo "<tr>";
echo "<td>".$id."</td>";
echo "<td>".$country."</td>";
echo "<td>".$animal."</td>";
echo "<td>".$cname."</td>";
echo "</tr>";
}
echo "</table>";
}

 参考:http://blog.csdn.net/maminyao/article/details/7569079

http://www.169it.com/blog_article/1443995156.html

php中的循环遍历 foreach list each的更多相关文章

  1. Java中ArrayList循环遍历并删除元素的陷阱

    ava中的ArrayList循环遍历并且删除元素时经常不小心掉坑里,昨天又碰到了,感觉有必要单独写篇文章记一下. 先写个测试代码: import java.util.ArrayList; public ...

  2. Android中List循环遍历性能对照

    在android开发中仅仅要是列表式风格界面我们差点儿都须要用到List来存放数据,在数量非常少的List的话差点儿不论什么一种循环遍历方式总体性能都无区别.可是当我们遇到数据量稍大的时候有必要考虑用 ...

  3. sqlserver中的循环遍历(普通循环和游标循环)

    sql 经常用到循环,下面介绍一下普通循环和游标循环 1.首先需要一个测试表数据Student

  4. sqlserver中的循环遍历(普通循环和游标循环)(转载)

    sql 经常用到循环,下面介绍一下普通循环和游标循环 1.首先需要一个测试表数据Student

  5. Mybatis中使用循环遍历

    Mybatis中传参数的方法 1.使用注解绑定,mapper.xml 对应方法 不需要指定 parameterType,(推荐使用注解绑定方式) 方法接口: List<CalculateIdea ...

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

    原理: 高级浏览器支持forEach方法 语法:forEach和map都支持2个参数:一个是回调函数(item,index,list)和上下文: forEach:用来遍历数组中的每一项:这个方法执行是 ...

  7. 微信小程序中的循环遍历问题

    比如:如果在微信小程序中要遍历输出 0-9 的数,我们会使用for循环 ;i<;i++){ console.log(i); } 确实结果也是这样: 但是,如果我在循环时同时调用wx的api接口1 ...

  8. js中for循环遍历的写法

    众所周知,for循环是编程中必不可少的知识点:那么如何高效的写出循环呢? 我们要先知道for循环的基础样式是由自有变量自增自减和if判组成的: 1 for(条件){ 2 执行语句 3 } 而for循环 ...

  9. JS&Jquery中的循环/遍历

    JavaScript中的遍历 for 遍历 var anArray = ['one','two']; for(var n = 0; n < anArray.length; n++) { //具体 ...

随机推荐

  1. .NET框架设计(高级框架架构模式)—钝化程序、逻辑冻结、冻结程序的延续、瞬间转移

    阅读目录: 1.开篇介绍 2.程序书签(代码书签机制) 2.1ProgramBookmark 实现(使用委托来锚点代码书签) 2.2ProgramBookmarkManager书签管理器(对象化书签集 ...

  2. 海量IT资料 + 各种平台下的Oracle安装文件 + 公开课录像 + 各种视频教程资料

    觉得老师的公开课讲的都挺好的,这里把我录的一些公开课视频分享给大家,都用的是<屏幕录像专家>来录制的,是lxe格式的,大家用这个软件来播放就可以了,后边的公开课录像文件也会慢慢添加进去的, ...

  3. MySQL 5.6 主从复制如何处理——触发器,函数,存储过程,调度事件

      截图来自MySQL5.6的pdf版文档. 说明: 1)基于语句的复制时,trigger会在slave上执行,所以slave上也需要有trigger的定义,不然会导致主从数据不一致的: 2)基于行的 ...

  4. pycharm active code

    43B4A73YYJ-eyJsaWNlbnNlSWQiOiI0M0I0QTczWVlKIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1lIjoiI ...

  5. 【转】总结:2015这一年App Store审核指南都有哪些变化

    本文针对此前版本的<App Store审核指南>进行了更新,并标注了2015年苹果对<App Store审核指南>进行的一些调整. App Store Review Guide ...

  6. Android 播放电影时滑动屏幕调整屏幕亮度(转)

    (转自:http://blog.csdn.net/piaozhiye/article/details/6544450) 发现有一些主流的播放器播放电影时可以通过滑动屏幕调整屏幕亮度,其实实现起来也很容 ...

  7. iframe 的使用和登陆退出的实现——整个页面跳转

    iframe中如果只是页面跳转的话,我们依然只是部分的加载的了,为了实现整个页面的所有内容跳转,下面提供了整个页面跳转的方法. iframe例子 1.总的iframe页面(访问就访问这个)  all. ...

  8. HDU 4866 Shooting(持久化线段树)

    view code//第二道持久化线段树,照着别人的代码慢慢敲,还是有点不理解 #include <iostream> #include <cstdio> #include & ...

  9. Windows Azure文件共享服务--File Service

    部署在Windows Azure上的虚拟机之间如何共享文件?例如:Web Server A和Web Server B组成负载均衡集群,两个服务器需要一个共享目录来存储用户上传的文件.通常,大家可能首先 ...

  10. 150925-周五不干活-HTML(CSS),Javascript

    不干活就干自己.. 今天所有代码总结为一个如下 <!DOCTYPE HTML><html><head><meta http-equiv="Conte ...