for

对于纯数字索引的数组可以通过for循环来遍历数组,但是要注意的是数字索引必须是连续的,否则会获取不到数组中的部分数据。遍历不受数组内部指针影响。

<?php
$ar1=range('a','e');
$len=count($ar1);
for($i=0;$i<$len;$i++){echo $ar1[$i]."\n";
}
$ar1=array(0=>"a","2"=>"c","d");
$len=count($ar1);
for($i=0;$i<$len;$i++){echo $ar1[$i]."\n";
}
?>

foreach

foreach可以遍历任何类型的数组,可以只遍历值,也可以同时遍历键和值。遍历不受数组内部指针影响。

<?php
$ar1=range('a','e');
$ar2=array_combine($ar1,range(1,5));
$ar1=array(0=>"a","2"=>"c","d");
foreach($ar1 as $k=>$v){echo "$k=>$v\n";
}
foreach($ar2 as $k =>$v){echo "$k=>$v\n";
}
foreach ($ar2 as $v) {echo "$v\n";
}
?>

while/do...while、each

each函数以数组形式返回数组中当前的键/值对并将数组指针向前移动一步,each函数在PHP7.2后被移除。如果想要再次从头遍历需要重置数组内部指针。

<?php
$ar1=range('a','e');
$ar2=array_combine($ar1,range(1,5));
while($kv=each($ar2)){echo $kv[0]."=>".$kv[1].",".$kv['key']."=>".$kv['value']."\n";
}
?>

while/do...while、list、each

通过list函数接受each返回的数组键/值对。如果想要再次从头遍历需要重置数组内部指针。

<?php
$ar1=range('a','e');
$ar2=array_combine($ar1,range(1,5));
while(list($k,$v)=each($ar2)){echo "$k=>$v\n";
}
?>

while/do..while、key、next/prev、current

通过数组的next、prev等可操作数组内部指针的函数进行遍历。

<?php
$ar3=array("a"=>"a",1=>"b",false=>"c",3=>false,"d",null=>false,"f");
while(key($ar3)!==null){echo key($ar3)."=>".current($ar3)."\n";next($ar3);
}
?>

PHP数组遍历的五种方法相关推荐

  1. JavaScript 数组遍历的五种方法(转)

    转自:JavaScript 数组遍历的五种方法 这篇文章主要介绍了JavaScript 数组遍历的五种方法,帮助大家更好的理解和学习使用JavaScript,感兴趣的朋友可以了解下 在使用 JavaS ...

  2. List集合遍历的五种方法

    List集合遍历的五种方法: public static void main(String[] args) {List<Integer> list = Lists.newArrayList ...

  3. JavaScript数组去重的五种方法

    JavaScript数组去重的五种方法 先简单准备一个数组,用于方法的实验: let array = [1,1,2,3,4,4,1,5,6,6,7,7,7]; console.log(`去重前的数组: ...

  4. Java遍历Map五种方法

    一.Map集合遍历日常开发最常使用,简单总结五种方法差异. ①.Iterator+entrySet写法[推荐JDK8以下],Map.Entry是Map接口的内部接口,获取迭代器,然后依次取出每个迭代器 ...

  5. 数组遍历的几种方法及用法

    一.for循环 for(let i = 0;i<arr.length;i++){console.log(arr[i])} 二.forEach方法 forEach是最简单.最常用的数组遍历方法,它 ...

  6. HashMap遍历的五种方法

    在本文中,我们将通过示例讨论在 Java 上遍历 HashMap 的五种最佳方法. 1.使用 Iterator 遍历 HashMap EntrySet 2.使用 Iterator 遍历 HashMap ...

  7. map集合遍历的五种方法

    package com.jackey.topic; import java.util.ArrayList; import java.util.HashMap; import java.util.Ite ...

  8. chararray遍历_数组遍历的三种方法

    #import //数组遍历(枚举)对集合中的元素依此不重复的进行遍历 int main(int argc, const char * argv[]) { @autoreleasepool { NSA ...

  9. Map循环遍历的五种方法

    因为Map比较常用,所以今天来总结下Map取值比较常用的几种遍历方法. 1.创建一个Enum public enum FactoryStatus {BAD(0,"ou"),GOOD ...

最新文章

  1. java模拟国际象棋游戏_java国际象棋小游戏
  2. RibbonControl中的主题设计
  3. php 数值相加_php递归遍历多维数组,合并值并相加
  4. 源码安装mysql 5.1_Linux环境下源码编译安装MySQL5.1
  5. Spring Cloud 微服务实战系列-Spring Boot再次入门(一)
  6. 【Linux】文件描述符与重定向
  7. C# 随机数 Radom 循环生成同一的数字
  8. Kafka+Spark Streaming+Redis实时系统实践
  9. python爬虫初学(3)
  10. 进销存excel_进销存管理系统excel模板
  11. Scratch少儿编程
  12. DEFCON携手百度安全落地中国,打造国际化网络安全交流平台
  13. 2022泰迪杯a题害虫检测
  14. 星级评价,点击星星进行评分
  15. 计算机开机没有找到引导设备,电脑开机显示没有可以引导的设备
  16. MATLAB连接USRP实现数据采集
  17. firefox 绿色护眼
  18. 【智能物流】快递、云仓、新零售引领物流自动化千亿市场
  19. 社区疫情防控平台需求工程--软件需求规格说明
  20. 基于pytorch搭建多特征CNN-LSTM时间序列预测代码详细解读(附完整代码)

热门文章

  1. compiling for macOS 10.11, but module xxx has a minimum deployment target of macOS 10.12
  2. 过椭圆外一点引两条切线方程_椭圆外一点引椭圆的两条切线互相垂直问题巧解 -...
  3. SpringBoot的Spring Data JPA配置
  4. 若依表单中上传文件/图片
  5. vue 一维 数组 转换成三维 数组
  6. layui的form表单提交问题
  7. Hdfs NameNode中数据块、数据节点及副本状态概述
  8. 数据库设计方法论 - 继承
  9. solidity的delete操作汇总
  10. 复合材料在计算机的应用,计算机在复合材料中的应用