php中的循环遍历 foreach list each
foreach语句遍历数组
foreach语句用于循环遍历数组,每进行一次循环,当前数组元素的值就会被赋值给变量value(也可以是其它变量),数组指针会逐一的移动。
code to executed;
}
echo $key "-" $value. "<br />";
}
echo()函数
each()的作用是将数组当前元素的键值对拆成一个新数组,并把下一个元素作为当前元素。比如Array(...,'Robert'=>'Bob',...)中的'Robert'=>'Bob'键值对,拆成Array([1]=>'Bob',[value]=>'Bob',[0]=>'Robert',[key]=>'Robert')数组,拆成两套(共四个键值对)返回,0和1的序号对,key和value的名-值对,使用其中一套就可以了。
例:
$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变量。
例子:
$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
另一种实现方法:
$prices=Array('Tries' => 100, 'Oil' => 10, 'Spank Plugs' => 4);
list($product, $price) = $each($prices);
echo "$product - $price"; //输出第一个数组
$next = $next($prices); // 指针后移
echo $next;
<?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的更多相关文章
- Java中ArrayList循环遍历并删除元素的陷阱
ava中的ArrayList循环遍历并且删除元素时经常不小心掉坑里,昨天又碰到了,感觉有必要单独写篇文章记一下. 先写个测试代码: import java.util.ArrayList; public ...
- Android中List循环遍历性能对照
在android开发中仅仅要是列表式风格界面我们差点儿都须要用到List来存放数据,在数量非常少的List的话差点儿不论什么一种循环遍历方式总体性能都无区别.可是当我们遇到数据量稍大的时候有必要考虑用 ...
- sqlserver中的循环遍历(普通循环和游标循环)
sql 经常用到循环,下面介绍一下普通循环和游标循环 1.首先需要一个测试表数据Student
- sqlserver中的循环遍历(普通循环和游标循环)(转载)
sql 经常用到循环,下面介绍一下普通循环和游标循环 1.首先需要一个测试表数据Student
- Mybatis中使用循环遍历
Mybatis中传参数的方法 1.使用注解绑定,mapper.xml 对应方法 不需要指定 parameterType,(推荐使用注解绑定方式) 方法接口: List<CalculateIdea ...
- JavaScript中的数组遍历forEach()与map()方法以及兼容写法
原理: 高级浏览器支持forEach方法 语法:forEach和map都支持2个参数:一个是回调函数(item,index,list)和上下文: forEach:用来遍历数组中的每一项:这个方法执行是 ...
- 微信小程序中的循环遍历问题
比如:如果在微信小程序中要遍历输出 0-9 的数,我们会使用for循环 ;i<;i++){ console.log(i); } 确实结果也是这样: 但是,如果我在循环时同时调用wx的api接口1 ...
- js中for循环遍历的写法
众所周知,for循环是编程中必不可少的知识点:那么如何高效的写出循环呢? 我们要先知道for循环的基础样式是由自有变量自增自减和if判组成的: 1 for(条件){ 2 执行语句 3 } 而for循环 ...
- JS&Jquery中的循环/遍历
JavaScript中的遍历 for 遍历 var anArray = ['one','two']; for(var n = 0; n < anArray.length; n++) { //具体 ...
随机推荐
- oracle常用命令集合
一. 表空间相关命令 创建数据表空间 create SMALLFILE tablespace dataSpace datafile 'E:\oracle\product\10.2.0\oradata\ ...
- java 如何在pdf中生成表格
1.目标 在pdf中生成一个可变表头的表格,并向其中填充数据.通过泛型动态的生成表头,通过反射动态获取实体类(我这里是User)的get方法动态获得数据,从而达到动态生成表格. 每天生成一个文件夹存储 ...
- oracle函数--trunc
作用:截取 语法:trunc(date,[fmt]) TRUNC函数,ORA-01898 精度说明符过多 TRUNC(SYSDATE)即可默认当前日期(年月日),---写到这一步就好了 TRUNC ...
- AngularJS几个基础概念
作用域 应用的作用域是和应用的数据模型相关联的,同时作用域也是表达式执行的上下文.$scope对象是定义应用业务逻辑.控制器方法和视图属性的地方.作用域是视图和作用域之间的胶水.在应用将视图渲染并呈现 ...
- PHP&MySQL(三)——数组
前一段忙着比赛忙着找实习,最后一地鸡毛,就是长长教训罢了.... 看书还是多必须的,试着高效的.踏实的做吧!! <?php //PHP数组其实能创建很多种数据结构,列表,堆栈,队列,树等 //数 ...
- MMORGP大型游戏设计与开发(客户端架构 part13 of vegine)
一些数据是需要不断改动的,程序不可能因为这些改动而不厌其烦的去改动代码,早期的这种做法就成了程序员们最悲哀的痛苦.自从有了数据管理后,程序的世界逐渐清晰,这些烦恼也不再出现,不过若是要很好的管理数据可 ...
- eclipse乱码解决方法
eclipse之所以会出现乱码问题是因为eclipse编辑器选择的编码规则是可变的.一般默认都是UTF-8或者GBK,当从外部导入的一个工程时,如果该工程的编码方式与eclipse中设置的编码方式不同 ...
- 【2016-10-14】【坚持学习】【Day5】【单例模式】
今天学习第二个模式:单例模式.只允许系统有一个实例运行,提供全局访问该实例的公共方法. class Singleton { private static Singleton instance=null ...
- hihocoder #1388 : Periodic Signal NTT&FFT
传送门:hihocoder #1388 : Periodic Signal 先来几个大牛传送门: (模板) NTT long long 版 解法一:因为我们知道FFT会精度不够,所以坚持用NTT,但 ...
- Java面向对象编程之异常处理机制
一:Java的异常处理机制的优点: 1:把各种不同情况的异常情况分类,使用JAVA类来表示异常情况,这种类被称为异常类.把各种异常情况表示成异常类,可以充分的发挥类的可扩展性和可重用性. 2:异常流程 ...