牛骨文教育服务平台(让学习变的简单)
博文笔记

PHP foreach的两种用法

创建时间:2017-05-01 投稿人: 浏览次数:121

前言:

        php4中引入了foreach结构,这是一种遍历数组的简单方式。相比传统的for循环,foreach能够更加便捷的获取键值对。在php5之前,foreach仅能用于数组;php5之后,利用foreach还能遍历对象。本文中仅讨论遍历数组的情况。


第一种格式遍历给定的 array_expression 数组。


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

第二种格式做同样的事,只是除了当前单元的值以外,键值也会在每次循环中被赋给变量 $key。看下面代码:


键值这里可以理解为数组下标,数组元素a[2]的下标就是2.

        当 foreach 开始执行时,数组内部的指针会自动指向第一个单元。这意味着不需要在 foreach 循环之前调用 reset()。而while循环需要reset。下面两种代码功能完全相同。

1.用while循环


2.用foreach


         此外注意 foreach 所操作的是指定数组的一个拷贝,而不是该数组本身。因此即使有 each() 的构造,原数组指针也没有变,数组单元的值也不受影响。

        foreach 不支持用“@”来禁止错误信息的能力。

      foreach虽然简单,不过它可能会出现一些意外的行为,特别是代码涉及引用的情况下。
      问题:

复制代码代码如下:
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。