0

0

PHP中foreach()用法汇总

php中文网

php中文网

发布时间:2016-06-13 08:58:53

|

2801人浏览过

|

来源于php中文网

原创

php中foreach()用法汇总

   这篇文章主要给大家详细介绍了php中foreach()用法以及相关的示例,十分的细致,有需要的小伙伴可以参考下。

  PHP 4 引入了 foreach 结构,和 Perl 以及其他语言很像。这只是一种遍历数组简便方法。foreach 仅能用于数组,当试图将其用于其它数据类型或者一个未初始化的变量时会产生错误。有两种语法,第二种比较次要但却是第一种的有用的扩展。

  ?

  1

  2

立即学习PHP免费学习笔记(深入)”;

  3

  4

  5foreach (array_expression as $value)

  statement

  foreach (array_expression as $key => $value)

  statement

  第一种格式遍历给定的 array_expression 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。

  第二种格式做同样的事,只是除了当前单元的键名也会在每次循环中被赋给变量 $key。

  先来看第一个语句,这个语句比较简单,array_expression指的是一个数组表达式,as $val语句将顺序取得该数组的值并保存到$val变量中,此种方法只能取得数组内的值,而不能取得数组的下标索引值。例如:

  ?

  1

  2

立即学习PHP免费学习笔记(深入)”;

  3

  4$myArray=array("1"=>"val1","2"=>"val2","3"=>"val3");

  foreach($myArray as $val) {

  print($val." ");

  }

  其结果会输出:val1 val2 val3

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

  看正面例子:

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

  ?

  1

  2

立即学习PHP免费学习笔记(深入)”;

  3

  4$myArray=array("1"=>"val1","2"="val2","3"=>"val3");

  foreach($myArray as $key=>$val) {

  print($key."=>".$val.";");

  }

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

  ?

  17$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("

    ");

     

    Kuwebs企业网站管理系统3.1.5 UTF8
    Kuwebs企业网站管理系统3.1.5 UTF8

    酷纬企业网站管理系统Kuwebs是酷纬信息开发的为企业网站提供解决方案而开发的营销型网站系统。在线留言模块、常见问题模块、友情链接模块。前台采用DIV+CSS,遵循SEO标准。 1.支持中文、英文两种版本,后台可以在不同的环境下编辑中英文。 3.程序和界面分离,提供通用的PHP标准语法字段供前台调用,可以为不同的页面设置不同的风格。 5.支持google地图生成、自定义标题、自定义关键词、自定义描

    下载

      foreach($myArray as $key=>$val) {

      print("

  • ".$key."
  • ");

     

      if (is_array($val)) { //判断$val的值是否是一个数组,如果是,则进入下层遍历

      print("

      ");

       

        foreach($val as $key=>$val) {

        print("

    • ".$key."=>".$val."
    • ");

       

        }

        print("

    ");

     

      }

      }

      print("

");

 

  输出结果:

  ?

  121

  11=>val11

  12=>val12

  13=>val13

  2

立即学习PHP免费学习笔记(深入)”;

  21=>val21

  22=>val22

  23=>val23

  3

  31=>val31

  32=>val32

  33=>val33

  

  • 是 标签,作用是显示个实心小圆点和空心小圆点。

     

      由于上面的是一个二维数组,在第一次遍历后所得到的$val值将是一个数组,所以我在遍历中加了一个判断,以便进行二层数组遍历。

      再通过一个实例解惑

      ?

      $a = array("1"=>"语文","2"=>"数学","3"=>"英语");

      $b = array("1"=>"95","2"=>"99","3"=>"92");

      foreach($a as $key=>$value){

      echo $value;

      echo $b[$key]."
    ";

      }

      ?>

      问题是为什么输出数组$b中的值要用$b[$key]而不是$b[$value]?

      这是为什么呢?

      $a = array("1"=>"语文","2"=>"数学","3"=>"英语");

      上面这个和下面这个是完全一样的

      $a[1]="语文";

      $a[2]="数学"

      $a[3]=“英语”

      我们输出上面的数组是怎么输出的呢?

      肯定是echo $a[1];

      对不对?

      如果没有疑问我们继续!!!!

      ------------------------------

      简单说foreach

      它的格式是这样的foreach(数组名 as 下标=>值)

      下标也就是上面的$a[1],这里的1就是数组的下标!

      到这你应该明白了,为什么是$a[$key]这样输出

      你记住不管怎么变,数组的输出方法永远是$a[1],不会是$a['语文']

      ================================================================

      foreach()有两种用法:

      ?

      1

      2

    立即学习PHP免费学习笔记(深入)”;

      31: foreach(array_name as $value){

      statement;

      }

      这里的array_name是你要遍历的数组名,每次循环中,array_name数组的当前元素的值被赋给$value,并且数组内部的下标向下移一步,也就是下次循环回得到下一个元素。

      ?

      1

      2

    立即学习PHP免费学习笔记(深入)”;

      32:foreach(array_name as $key => $value){

      statement;

      }

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

      以上所述就是本文的全部内容了,希望大家能够喜欢。

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
苹果官网入口直接访问
苹果官网入口直接访问

苹果官网直接访问入口是https://www.apple.com/cn/,该页面具备0.8秒首屏渲染、HTTP/3与Brotli加速、WebP+AVIF双格式图片、免登录浏览全参数等特性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

115

2025.12.24

拼豆图纸在线生成器
拼豆图纸在线生成器

拼豆图纸生成器有PixelBeads在线版、BeadGen和“豆图快转”;推荐通过pixelbeads.online或搜索“beadgen free online”直达官网,避开需注册的诱导页面。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

82

2025.12.24

俄罗斯搜索引擎yandex官方入口地址(最新版)
俄罗斯搜索引擎yandex官方入口地址(最新版)

Yandex官方入口网址是https://yandex.com。用户可通过网页端直连或移动端浏览器直接访问,无需登录即可使用搜索、图片、新闻、地图等全部基础功能,并支持多语种检索与静态资源精准筛选。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

546

2025.12.24

JavaScript ES6新特性
JavaScript ES6新特性

ES6是JavaScript的根本性升级,引入let/const实现块级作用域、箭头函数解决this绑定问题、解构赋值与模板字符串简化数据处理、对象简写与模块化提升代码可读性与组织性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

150

2025.12.24

php框架基础知识汇总
php框架基础知识汇总

php框架是构建web应用程序的架构,提供工具和功能,以简化开发过程。选择合适的框架取决于项目需求和技能水平。实战案例展示了使用laravel构建博客的步骤,包括安装、创建模型、定义路由、编写控制器和呈现视图。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

20

2025.12.24

Word 字间距调整方法汇总
Word 字间距调整方法汇总

本专题整合了Word字间距调整方法,阅读下面的文章了解更详细操作。

47

2025.12.24

任务管理器教程
任务管理器教程

本专题整合了任务管理器相关教程,阅读下面的文章了解更多详细操作。

7

2025.12.24

AppleID格式
AppleID格式

本专题整合了AppleID相关内容,阅读专题下面的文章了解更多详细教程。

12

2025.12.24

csgo视频观看入口合集
csgo视频观看入口合集

本专题整合了csgo观看入口合集,阅读下面的文章了知道更多入口地址。

371

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 7.9万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 6.9万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号