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

前端之家收集整理的这篇文章主要介绍了PHP中的函数-- foreach()的用法详解前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

PHP 4 引入了 foreach 结构,和 Perl 以及其他语言很像。这只是一种遍历数组简便方法。foreach 仅能用于数组,当试图将其用于其它数据类型或者一个未初始化的变量时会产生错误。有两种语法,第二种比较次要但却是第一种的有用的扩展。 @H_403_0@<div class="codetitle"><a style="CURSOR: pointer" data="56858" class="copybut" id="copybut56858" onclick="doCopy('code56858')"> 代码如下:

<div class="codebody" id="code56858">@H_403_0@foreach (arrayexpression as $value)@H4030@ statement@H403_0@foreach (arrayexpression as $key => $value)@H4030@ statement@H4030@
@H403_0@

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

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

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

PHP 5 起,还可能遍历对象。 @H_4030@

<FONT style="COLOR: #ff0000">@H403_0@注意:

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

<FONT style="COLOR: #ff0000">@H4030@注意:

除非数组是被引用,foreach 所操作的是指定数组的一个拷贝,而不是该数组本身。foreach对数组指针有些副作用。除非对其重置,在 foreach 循环中或循环后都不要依赖数组指针的值。 @H403_0@自 PHP 5 起,可以很容易地通过在 $value 之前加上 & 来修改数组的元素。此方法将以引用赋值而不是拷贝一个值。 @H_403_0@<div class="codetitle"><a style="CURSOR: pointer" data="48572" class="copybut" id="copybut48572" onclick="doCopy('code48572')"> 代码如下:
<div class="codebody" id="code48572">@H_403_0@<?PHP@H_4030@$arr = array(1,2,3,4);@H4030@foreach ($arr as &$value) {@H4030@ $value = $value * 2;@H4030@}@H4030@// $arr is now array(2,4,6,8)@H4030@?>@H4030@
@H403_0@此方法仅在被遍历的数组可以被引用时才可用(例如是个变量)。 @H_403_0@<div class="codetitle"><a style="CURSOR: pointer" data="26546" class="copybut" id="copybut26546" onclick="doCopy('code26546')"> 代码如下:
<div class="codebody" id="code26546">@H_403_0@<?PHP@H_4030@foreach (array(1,4) as &$value) {@H4030@ $value = $value * 2;@H4030@}@H4030@?>@H4030@
@H403_0@

foreachforeachforeachPHP

猜你在找的PHP相关文章