• php 便利数组方法


    数组在PHP中是一个非常强大的武器,用起来方便、容易,由于使用起来异常灵活,用它就可以实现数据结构中的链表、栈、队列、堆以及所谓的字典、集合等,也可以转换成XML格式。

    1、使用for

          for语句遍历数组不是一个好选择,一般不会用,局限性太大,因为数组的下标很多时候不连续,或者是既有整数下标又有字符串下标,但存在这么一个情况,恰好是索引数组,且它的下标是连续的,那么这也是一种方法。

    <?php
        $array = array('a', 'b', 'c', 'd', 'e');
        $size = count($array);    //取得数组单元个数
        for($i=0; $i<$size; $i++)
            echo $array[$i].'<br/>';

    (2)foreach遍历数组 ,可以遍历索引数组和关联数组:可以取value 和 value,key

    取value
        foreach($atter as $value)
        {
            echo $value."<br>";
        }
    取value key
        foreach($atter as $key=>$value)
        {
            echo $key."=>".$value."<br>";
        }

    (3)each(),list()函数遍历数组 这种遍历方式可以遍历索引数组和关联数组

    while(list($key,$value) = each($atter))
        {
            echo $key."=>".$value."<br>";
        }

     A:each()函数,数组的里面的一个元素,依次向下取值,将该元素以数组的形式返回

    print_r(each($atter));
        echo "<br>";
        print_r(each($atter));
        echo "<br>";
        print_r(each($atter));
        reset($atter);
        //将指针复位,指向第一个元素
        print_r(each($atter));
        echo "<br>";
        print_r(each($atter));
        echo "<br>";
        print_r(each($atter));

     B:list()函数 只能取索引数组

    list($a,$b,$c) = $atter;
        echo $a;
        echo $b;
        echo $c;

     (4)指针遍历数组

     do
        {
            echo key;
            echo current($atter);
            echo "<br>";
        }while(next($atter))

    指针:

    echo current($atter); //取当前指针指向的内容 value
        echo key($atter);     //取当前指针指向的索引 key
        echo "<br>";
        next($atter);         //将指针向下移动
        echo current($atter); //取当前指针指向的内容 value
        echo key($atter);     //取当前指针指向的索引 key
        echo "<br>";
        prev($atter);         //将指针向上移动
        echo current($atter); //取当前指针指向的内容 value
        echo key($atter);     //取当前指针指向的索引 key
        echo "<br>";
        end($atter);          //将指针指向最后一个
        reset($atter);        //将指针复位
  • 相关阅读:
    Django关于StreamingHttpResponse与FileResponse响应文件或视频的下载请求
    APScheduler可能遇到的问题
    django中model聚合使用
    Java 递归判断迷宫问题是否有路
    direct path read/write (直接路径读/写)
    DRM 简介
    SQL Server2008表名中含“.”号处理方法
    Java学习之:JDK动态代理与CGLIB动态代理
    强大易用!新一代爬虫利器 Playwright
    为什么cudaMalloc()参数是二级指针
  • 原文地址:https://www.cnblogs.com/kevin2016/p/5917611.html
Copyright © 2020-2023  润新知