foreach()有两种用法:
1: foreach(array_name as $value){ 
        statement;
    }
 这里的array_name是你要遍历的数组名,每次循环中,array_name数组的当前元素的值被赋给$value,并且数组内部的下标向下移一步,也就是下次循环回得到下一个元素。

2:foreach(array_name as $key => $value){        
       statement;     
 }   
 这里跟第一种方法的区别就是多了个$key,也就是除了把当前元素的值赋给$value外,当前元素的键值也会在每次循环中被赋给变量$key。键值可以是下标值,也可以是字符串。比如book[0]=1中的“0”,book[id]="001"中的“id”.

来看看第二种格式,第二种格式除了能像第一种格式一样得到数组内元素的值外,还能得到元素的索引值,并保存到$key变量中,如果数组的索引值未经过人工设定,则返回系统默认的设定值,
看正面例子:

先看一个简单的一维数组:

$myArray=array("1"=>"val1","2"="val2","3"=>"val3");
foreach($myArray as $key=>$val) {
     print($key."=>".$val.";");
}

该程序将出输出:1=>val1;2=>val2;3=>val3;,接下来我们再来看一个复杂一点的二维数组遍历,程序如下:

$myArray=array(
     "1"=>array("11"=>"val11","12"=>"val12","13"=>"val13"),
     "2"=>array("21"=>"val21","22"=>"val22","23"=>"val23"),
     "3"=>array("31"=>"val31","32"=>"val32","33"=>"val33")
);
print("<ul>");
foreach($myArray as $key=>$val) {
     print("<li>".$key."</li>");
     if (is_array($val)) {     //判断$val的值是否是一个数组,如果是,则进入下层遍历
         print("<ul>");
        foreach($val as $key=>$val) {
             print("<li>".$key."=>".$val."</li>");
         }
         print("</ul>");
     }
}
print("</ul>");

输出结果:

  • 1

    • 11=>val11
    • 12=>val12
    • 13=>val13
  • 2
    • 21=>val21
    • 22=>val22
    • 23=>val23
  • 3
    • 31=>val31
    • 32=>val32
    • 33=>val33

<ul> 和 <li>是 标签,作用是显示个实心小圆点和空心小圆点。
由于上面的是一个二维数组,在第一次遍历后所得到的$val值将是一个数组,所以我在遍历中加了一个判断,以便进行二层数组遍历。

转载于:https://www.cnblogs.com/DaBing0806/p/4717718.html

php foreach用法和实例相关推荐

  1. foreach php,详解PHP中foreach的用法和实例

    本篇文章介绍了详解PHP中foreach的用法和实例,详细介绍了foreach的用法,感兴趣的小伙伴们可以参考一下. 在PHP中经常会用到foreach的使用,而要用到foreach,就必须用到数组. ...

  2. c语言中sign的用法,sign函数用法和实例详解

    内容提要:本文从用法和实例入手,介绍了Excel中sign函数的应用. 第一,sign函数用法说明 sign函数用于返回数字的符号.正数为1,零为0,负数为-1. sign函数语法:SIGN(numb ...

  3. java中List的用法和实例详解

    Java中List的用法和实例详解 List的用法 List包括List接口以及List接口的所有实现类.因为List接口实现了Collection接口,所以List接口拥有Collection接口提 ...

  4. matlab log函数怎么使用,matlab对数函数的用法和实例,来充电吧

    有时候我们在用matlab计算的时候,想使用对数函数,怎么用呢,下面来分享一下方法 工具/材料 matlab 对数函数的用法和实例 操作方法 01 第一步首先介绍自然数对数log(x),电脑中打开ma ...

  5. python的strip、lstrip、rstrip函数的用法和实例

    目录 1.strip函数的用法和实例 (1)语法和用法 ①语法:str.strip([string]) ②用法:替代字符串两边某指定字符. (2)实例 ①简单的用法 ②与if函数结合使用 1.stri ...

  6. css3动画旋转360度,CSS3旋转动画(360度旋转、旋转放大、放大、移动) 用法和实例...

    CSS3旋转动画(360度旋转.旋转放大.放大.移动) 用法和实例 Internet Explorer 10.Firefox.Opera 支持 transform 属性. Internet Explo ...

  7. nn.moduleList 和Sequential由来、用法和实例 —— 写网络模型

    对于cnn前馈神经网络如果前馈一次写一个forward函数会有些麻烦,在此就有两种简化方式,ModuleList和Sequential.其中Sequential是一个特殊的module,它包含几个子M ...

  8. 数组的foreach方法和jQuery中的each方法

    欢迎加入前端交流群交流知识&&获取视频资料:749539640 /* * 数组的forEach方法: * 1.返回给回调的参数先是值,然后是下标 * 2.回调函数执行时内部的this指 ...

  9. java 实例化list_java中List的用法和实例详解

    List的用法 List包括List接口以及List接口的所有实现类.因为List接口实现了Collection接口,所以List接口拥有Collection接口提供的所有常用方法,又因为List是列 ...

最新文章

  1. 【OpenCV】正确创建用于保存YUV420P格式的cv::Mat
  2. 四肢切割_四肢瘫痪者用大脑信号和先进的假肢完成吃饭动作
  3. tensorflow学习函数笔记
  4. 比特币的锁定脚本与解锁脚本
  5. win10 修改gitlab账号_玩转gitlab + jenkins
  6. 显示菜单栏_mac菜单栏不显示了,如何设置?
  7. jQuery中的live绑定多个事件整理
  8. 对比Windows 8模拟器(Simulator)和Windows Phone仿真器(Emulator)
  9. 红帽linux开启vnc服务器,红帽Linux上使用VNC
  10. 码农故事:一个辞职创业卖凉皮的程序员
  11. 解决windows server2012 评估版本过期,系统自动关机 重启
  12. QT自定义控件-经纬度输入框
  13. 几种常用cv工具的颜色通道总结
  14. Linux下用五笔输入法
  15. 如何下载720云上的全景图片?
  16. Optical Flares for Mac/win(AE镜头光晕耀斑插件) ​
  17. 用手机打开exe文件
  18. 【前端开发】在windows 10上安装gulp(详细讲解)
  19. gcc与cuda的关系
  20. JAVA java学习(9)——————java常用开发工具介绍

热门文章

  1. python 列表推导
  2. CUDA C编程权威指南 第三章 CUDA执行模型
  3. Java SpringMVC
  4. shell 脚本传参
  5. pytorch transformers
  6. neo4j 增 create
  7. Matplotlib 中文字体设置
  8. python的excell库_Python中使用第三方库xlrd来写入Excel文件示例
  9. 阿里云的SLB,植入cookie和重写cookie有什么区别?
  10. Kubernetes学习总结(10)—— 何为云原生,与 kubernetes 是什么关系