zoukankan      html  css  js  c++  java
  • PHP的几种遍历方法

    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 />'; 
    } 
    ?>
  • 相关阅读:
    c++ 中pair类模板的用法详解
    求解Catalan数,(大数相乘,大数相除,大数相加)
    POJ--2823--Sliding Window----单调队列问题
    POJ2796 Feel Good -- 单调队列
    Graham扫描法 --求凸包
    山东理工大学第七届ACM校赛-G 飞花的传送门
    NKOJ1236 a^b (数论定理的应用)
    大数相减 C语言
    SPFA ----模板 O(kE) (k一般不超过2)
    C++大数相加
  • 原文地址:https://www.cnblogs.com/muziyun1992/p/6723958.html
Copyright © 2011-2022 走看看