PHP中的函数-- foreach()的用法详解

 更新时间:2013年06月24日 09:10:02   作者:  
本篇文章是对PHP中的函数foreach()的用法进行了详细的分析介绍,需要的朋友参考下
PHP 4 引入了 foreach 结构,和 Perl 以及其他语言很像。这只是一种遍历数组简便方法。foreach 仅能用于数组,当试图将其用于其它数据类型或者一个未初始化的变量时会产生错误。有两种语法,第二种比较次要但却是第一种的有用的扩展。
复制代码 代码如下:

foreach (array_expression as $value)
    statement
foreach (array_expression as $key => $value)
    statement

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

第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量 $key。
自PHP 5 起,还可能遍历对象。

注意:
当 foreach 开始执行时,数组内部的指针会自动指向第一个单元。这意味着不需要在 foreach 循环之前调用 reset()。

注意:
除非数组是被引用,foreach 所操作的是指定数组的一个拷贝,而不是该数组本身。foreach对数组指针有些副作用。除非对其重置,在 foreach 循环中或循环后都不要依赖数组指针的值。
自 PHP 5 起,可以很容易地通过在 $value 之前加上 & 来修改数组的元素。此方法将以引用赋值而不是拷贝一个值。
复制代码 代码如下:

<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
    $value = $value * 2;
}
// $arr is now array(2, 4, 6, 8)
?>

此方法仅在被遍历的数组可以被引用时才可用(例如是个变量)。
复制代码 代码如下:

<?php
foreach (array(1, 2, 3, 4) as &$value) {
    $value = $value * 2;
}
?>

相关文章

  • PHP几个实用自定义函数小结

    PHP几个实用自定义函数小结

    这篇文章主要介绍了PHP几个实用自定义函数,结合实例总结分析了PHP网络操作、字符串操作、时间操作及正则表达式使用等技巧,需要的朋友可以参考下
    2016-01-01
  • PHP实现网页内容html标签补全和过滤的方法小结【2种方法】

    PHP实现网页内容html标签补全和过滤的方法小结【2种方法】

    这篇文章主要介绍了PHP实现网页内容html标签补全和过滤的方法,结合实例形式分析了php常见的标签检查、补全、闭合、过滤等相关操作技巧,需要的朋友可以参考下
    2017-04-04
  • PHP 函数执行效率的小比较

    PHP 函数执行效率的小比较

    要求写一个自定义函数,使 $data = array(12, 43, 87, 45) => $data = array(1, 2, 4, 3, 8, 7, 4, 5);
    2010-10-10
  • PHP入门教程之操作符与控制结构流程详解

    PHP入门教程之操作符与控制结构流程详解

    这篇文章主要介绍了PHP入门教程之操作符与控制结构流程,结合实例形式详细分析了php基本的赋值、自增、比较、三目运算符以及if语句、switch语句、for语句等流程控制语句的使用技巧,需要的朋友可以参考下
    2016-09-09
  • 对PHP PDO的一些认识小结

    对PHP PDO的一些认识小结

    这篇文章主要介绍了对PHP PDO的一些认识小结,本文讲解了什么是PDO、启用PDO的配置方法、PDO的预定义类、事务处理例子等内容,需要的朋友可以参考下
    2015-01-01
  • PHP实现的简单对称加密与解密方法实例小结

    PHP实现的简单对称加密与解密方法实例小结

    这篇文章主要介绍了PHP实现的简单对称加密与解密方法,结合实例形式总结了常见的php对称加密与解密操作方法,需要的朋友可以参考下
    2017-08-08
  • PHP实现取得HTTP请求的原文

    PHP实现取得HTTP请求的原文

    这篇文章主要介绍了PHP实现取得HTTP请求的原文,需要的朋友可以参考下
    2014-08-08
  • php中array_pad()函数用法及实例

    php中array_pad()函数用法及实例

    在本篇文章里小编给大家整理的是一篇关于php中array_pad()函数用法及实例内容,有兴趣的朋友们可以跟着学习下。
    2021-08-08
  • php下pdo的mysql事务处理用法实例

    php下pdo的mysql事务处理用法实例

    这篇文章主要介绍了php下pdo的mysql事务处理用法,以实例形式分析了基于pdo的事物提交与回滚操作的用法,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • php面向对象编程self和static的区别

    php面向对象编程self和static的区别

    这篇文章主要介绍了PHP中static关键字以及与self关键字的区别,本文讲解了static关键字的定义、迟绑定(Late Static Bindings)、以及与self关键字的区别等内容,需要的朋友可以参考下
    2016-05-05

最新评论