奈福网络首页

php循环语句for和foreach的区别

来源: 时间:2018-05-08 13:27
php中循环语句for和foreach的区别:
    php从版本4开始引入了 foreach 结构,这和perl以及其他语言很类似.这只是一种遍历数组的简便方法.foreach 仅能用于数组,当试图将其用于其它数据类型或者一个未初始化的变量时会产生错误.
    有两种语法,第二种比较次要但却是第一种的有用的扩展.
    foreach (array_expression as $value){
    ... ...
    }
    foreach (array_expression as $key => $value){
    ... ...
    }
    第一种格式遍历给定的 array_expression 数组.每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元).
    第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量 $key.
    自php 5 起,还可能遍历对象.
    注: 当 foreach 开始执行时,数组内部的指针会自动指向第一个单元.这意味着不需要在 foreach 循环之前调用 reset().
    注: 除非数组是被引用,foreach 所操作的是指定数组的一个拷贝,而不是该数组本身.因此数组指针不会被 each() 结构改变,对返回的数组单元的修改也不会影响原数组.不过原数组的内部指针的确在处理数组的过程中向前移动了.假定 foreach 循环运行到结束,原数组的内部指针将指向数组的结尾.
    自php5起,可以很容易地通过在 $value 之前加上 & 来修改数组的单元.此方法将以引用赋值而不是拷贝一个值.
    <?php
    $arr = array(1, 2, 3, 4);
    foreach ($arr as &$value) {
    $value = $value * 2;
    }
    // $arr is now array(2, 4, 6, 8)
    ?>
    此方法仅在被遍历的数组可以被引用时才可用(例如是个变量).
    注意: foreach 不支持用“@”来抑制错误信息的能力.

请将您的建设需求提交给我们

*
*
*
可以简单描述下您的需求

我们会在1个工作日内与您联系,请保持手机畅通

您也可以 QQ在线咨询 或拨打电话:021-31262629

关闭

021-31262629

周一至周五09:00-17:00

输入您的电话,我们即刻给您回电

您也可以咨询我们的在线客服

您好,有什么可以帮您的吗?

网站建设 • 微信移动端开发 • 电商平台建设 • 系统搭建开发

您也可以直接电话沟通:

021-31262629

工作时间:09:00~17:00 非工作时间:13918508667
扫一扫,微信咨询 奈福项目经理为您服务
快速提交您的建设需求

奈福网络银行账号

*注:如果您有其他疑问,可以联系021-31262629核实以上账户信息
支付宝及微信

支付宝账户:13816563533 (支付宝账户:13816563533) 账户名:蒋杰 微信账户:18916053475 (打开微信扫码支付) 账户名:蒋杰

如果您也有需求要做

* 请认真填写需求信息,我们会在24小时内与您取得联系。

分享按钮