PHP常用的遍历方法有三种,foreach,for,list()/each()和while,这三种方法中效率最高的是使用foreach语句遍历数组

一、使用for语句循环遍历数组

  值得大家注意的是使用for语句循环遍历数组要求遍历的数组必须是索引数组(即通常情况下所说的数组)。PHP中不仅有关联数组而且还有索引数组,所以PHP中很少用for语句循环遍历数组。 

<?php
$arr = array('http://www.cnblogs.com/','博客园','PHP教程');
$num = count($arr);
for($i=0;$i<$num;++$i){
echo $arr[$i].'<br />';
}
?>

输出:

http://www.jb51.net
脚本之家
PHP教程

  上例代码中我们先计算出数组$arr中元素的个数,然后才使用在for语句,这样做很高效的。因为如果是for($i=0;$i< count($arr);++$i)的话,每次循环都会计算数组$arr中元素的个数,而使用上面的方式可以减去这种开销。使用++$i也是为了提高效率。

二、使用foreach语句遍历数组

使用foreach语句循环遍历数组有二种方式,我们使用的最多的还是第一种方式。介绍如下:

①foreach(array_expression as $value){
//循环体
}

<?php
$arr = array('http://www.cnblogs.com/','博客园','PHP教程');
foreach($arr as $value){
echo $value.'<br />';
}
?>

每次循环中,当前元素的值被赋给变量$value,并且把数组内部的指针向后移动一步。所以下一次循环中会得到数组的下一个元素,直到数组的结尾才停止循环,结束数组的遍历。

②foreach(array_expression as  $key=>$value){
//循环体
}

<?php
//定义数组
$arr = array('http://www.cnblogs.com/','博客园','PHP教程');
foreach($arr as $k=>$v){
echo $k."=>".$v."<br />";
}
?>

三、联合使用list()、each()和while循环遍历数组
each()函数需要传递一个数组作为一个参数,返回数组中当前元素的键/值对,并向后移动数组指针到下一个元素的位置。 list()函数,这不是一个真正的函数,是PHP的一个语言结构。list()用一步操作给一组变量进行赋值。

<?php
//定义循环的数组
$arr = array('http://www.cnblogs.com/','博客园','PHP教程');
while(list($k,$v) = each($arr)){
echo $k.'=>'.$v.'<br />';
}
?>

最新文章

  1. On having layout
  2. Elasticsearch 安装中文分词
  3. Intellij 常用快捷键
  4. Atitit.为什么小公司也要做高大上开源项目
  5. LDA-math-神奇的Gamma函数
  6. 中级iOS开发面试题
  7. 大数据笔记02:大数据之Hadoop的生态系统和版本
  8. 用Spark学习矩阵分解推荐算法
  9. php 下载保存文件保存到本地的两种实现方法
  10. js实现最长子串算法
  11. 移动开发之【微信小程序】的原理与权限问题以及相关的简易教程
  12. 用户注册登录系统 V2.0
  13. 8.4 GOF设计模式三: 外观模式 Facade
  14. eclipse使用技巧心得分享
  15. Xcopy命令参数使用介绍
  16. 前端 ----js的事件流的概念(重要)
  17. C语言 &#183; 勾股数
  18. Ubuntu 安装 Docker CE
  19. [MapReduce_add_5] MapReduce 实现标签的生成与聚合
  20. 24.form表单提交的六种方式

热门文章

  1. JavaScript你必须掌握的8大知识点
  2. oracle数据库 网页管理360浏览器登录不上
  3. mysql数据库设置外键,更新与删除选项
  4. mysql基础 反范式化
  5. sqlite的sql常用语句(笔记)
  6. 前端性能优化JavaScript篇
  7. Ansible学习 ad-hoc命令
  8. Jenkins持续化集成
  9. (转)在图像处理中,散度 div 具体的作用是什么?
  10. 007---Django的视图层