1使用for循环遍历数组

count($arr)用于统计数组元素个数
         for循环只能用于遍历,纯索引数组!!如果存在关联数组,count统计两种数组的总个数
         使用for循环遍历混合数组,导致数组越界

$arr=array(1,2,3,4,5,6,7);
          $num=count($arr);//count最好放在for外面,可以让函数只执行一次
          for($i=0;$i<count($arr);$i++){
          echo "{$i}==>{$arr[$i]}<br/>";
          }

2.foreach循环遍历数组(foreach可以便利任何类型数组)

例如:

$arr=array(1,2,3,5,6,7,"one"=>9);
            foreach($arr as $item){

echo "{$item}<br/>";
                 }
            foreach($arr as $key=>$item){

echo "{$key}==>{$item}<br/>";
            }

3.3.使用list() ,each(),while()遍历数组

用法:

while(list($key,$value)=each($arr)){

echo "{$key}-->{$value}<br/>";
               }

list():用于将数组的每一个值,赋给list函数的每一个参数。(list函数的参数,必须小于等于 数组元素的个数)

eg:list($a,$b,$c)=[1,2,3];-->$a=1;$b=2;$c=3;
 注意:①list解析数组时直解析索引数组
         ②list可以通过传递空参数选择性解析数组的值
          list($a,,$b)=[1,2,3];-->$a=1;$b=3;
              each():用于返回数组当前指针所在位的键值对!并将指针后移一位;
            返回值:如果数组有下一位则返回一个数组。包含一个索引数组(0-键,1-键)和一个关联数组("key"-键,"value"-值);
            如果指针没有下一位返回false;

③ 数组使用each()遍历完一遍后,指针使用处于最后一位的下一位;即再用each()始终返回false
            如果要再用要用reset($arr)

4.使用数组指针遍历函数
            ①next:将数组指针,后移一位。并返回后一位的值;没有返回false;
            ②prev:将数组指针,前移一位。并返回后一位的值;没有返回false;
            ③end:将数组指针,移至最后一位。并返回后一位的值;空数组返回false;
            ④reset:将数组指针,恢复到第一位。并返回第一位的值;空数组返回false;
            ⑤key:返回当前指针所在位的键;
            ⑥current:返回当前指针所在位的值;

PHP遍历数组常用方式(for,foreach,while,指针等等)的更多相关文章

  1. JS中for...in循环陷阱及遍历数组的方式对比

    JavaScript中有很多遍历数组的方式,比较常见的是for(var i=0;i<arr.length;i++){},以及for...in...循环等,这些遍历都有各自的优缺点,下面来看看各种 ...

  2. PHP之旅3 php数组以及遍历数组 以及each() list() foreach()

    php的数组的定义 <?php //php中定义数组时可以通过索引直接进行赋值: $mArr[0]="哈哈"; $mArr[1]=70; $mArr[2]='haha'; e ...

  3. jquery遍历数组的方式

    1,for循环: var arr = new Array(13.5,3,4,5,6); for(var i=0;i<arr.length;i++){ arr[i] = arr[i]/2.0; } ...

  4. 集合遍历数组三种常用方式(Collecton和Map)

    Collection集合遍历数组的三种方式: 迭代器 foreach(增强for循环) JDK1.8之后的新技术Lambda 迭代器: 方法:public Iterator inerator():获取 ...

  5. Java中遍历数组的三种方式复习

    1 for循环遍历 通常遍历数组都是使用for循环来实现.遍历一维数组很简单,遍历二维数组需要使用双层for循环,通过数组的length属性可获得数组的长度. 程序示例: package captai ...

  6. js中数组遍历for与for in区别(强烈建议不要使用for in遍历数组)

    js中遍历数组的有两种方式 var array=['a'] //标准的for循环 for(var i=1;i<array.length;i++){ alert(array[i]) } //for ...

  7. 遍历数组中的元素(含es6方法)

    假如有这样一个数组.arr = [12,34,45,46,36,58,36,59],现在要遍历该数组. 方法1:以前我们可能会这样做: for(var i=0;i<arr.length;i++) ...

  8. for循环的运算 改变循环的控制流 死循环 遍历数组 定义方法 有名函数匿名函数 定义函数的方法取值 与 自己创建函数取值 局部与全局变量 次幂/随机数/取绝对值/向上取整/平方根

    今天学习的是for循环,对for循环的运算有了理解. document.write(" ")里的内容在网页上展示出来 有名函数非常重要!!!!!!!!!!!!!!!!!!!!!并且 ...

  9. JavaScript的使用以及JS常用函数(JS 遍历数组和集合)

    JavaScript入门 学习总结 1. 什么是 JavaScript 2. JavaScript 的特点 3. JS的使用 编写位置 基本语法 变量 打印变量 数据类型 innerHTML和inne ...

随机推荐

  1. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.

    转自:https://www.zhihu.com/question/20948649?sort=created 我最近也遇到这个问题了,用传统的快捷方式加参数并没有用,不知道是不是和chrome版本有 ...

  2. 机器学习进阶-目标追踪-SSD多进程执行 1.cv2.dnn.readnetFromCaffe(用于读取已经训练好的caffe模型) 2.delib.correlation_tracker(生成追踪器) 5.cv2.writer(将图片写入视频中) 6.cv2.dnn.blobFromImage(图片归一化) 10.multiprocessing.process(生成进程)

    1. cv2.dnn.readNetFromCaffe(prototxt, model)  用于进行SSD网络的caffe框架的加载 参数说明:prototxt表示caffe网络的结构文本,model ...

  3. elasticSearch-header

    elasticSearch既有chrome的插件 sense,但是因为chrome作为恶意插件不让植入,因此sense目前还停留在5版本. elasticSearch自带head plugin,用于监 ...

  4. Django--views(视图层)

    路径匹配后-----传给视图函数 一.视图函数 视图层,熟练掌握两个对象即可:请求对象(request)和响应对象(HttpResponse) 一个视图函数,简称视图,是一个简单的Python 函数, ...

  5. 推荐一款idea 翻译插件 ECTranslation

    无意中看到一款idea翻译插件, ECTranslation,才知道有这么个东西,推荐给看到的人吧,使用简单,值得拥有. 参考:http://p.codekk.com/detail/Android/S ...

  6. Spring Cloud限流详解

    转自:https://blog.csdn.net/tracy38/article/details/78685707 在高并发的应用中,限流往往是一个绕不开的话题.本文详细探讨在Spring Cloud ...

  7. TypeScript set get

    private _id:number; public get id():number{ return this._id; } public set id(value:number){ this._id ...

  8. 升级nodejs的方法(3)

    第一种 找到 目录 删除 再重装 第二种 安装模块n n stable 第三种 nvm https://blog.csdn.net/weibo392/article/details/77368550 ...

  9. 吴裕雄 python神经网络 水果图片识别(3)

    import osimport kerasimport timeimport numpy as npimport tensorflow as tffrom random import shufflef ...

  10. 关于ros将opencv版本固定“写死”的一些想法

    今天主要工作是将ros和zed结合起来,但是发现自己安装了opencv3.1,ros indigo安装的是opencv2.4.8,这就麻烦了,zed支持的是opencv3.1.一开始使用slam2时, ...