加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

如何确保在PHP的’foreach’循环中重置该值?

发布时间:2020-12-13 22:12:33 所属栏目:PHP教程 来源:网络整理
导读:我正在编写一个简单的 PHP页面,并使用了一些foreach循环. 以下是脚本: $arrs = array("a","b","c");foreach ($arrs as $arr) { if(substr($arr,1)=="b") { echo "This is b"; } } // End of first 'foreach' loop,and I didn't use 'ifelse' here. 当这个fo
我正在编写一个简单的 PHP页面,并使用了一些foreach循环.

以下是脚本:

$arrs = array("a","b","c");

foreach ($arrs as $arr) {
    if(substr($arr,1)=="b") {
        echo "This is b";
    }     
} // End of first 'foreach' loop,and I didn't use 'ifelse' here.

当这个foreach结束时,我写了另一个foreach循环,其中foreach循环中的所有值都与前一个foreach中的相同.

foreach ($arrs as $arr) {
    if(substr($arr,1)=="c") {
        echo "This is c";
    }     
}

我不确定两个具有相同值和键的foreach循环是否是一个好习惯.

这些值是否会在第一个foreach循环中被覆盖?

解决方法

在您开始使用引用之前就可以了,然后您可能会遇到奇怪的行为,例如:

<?php
$array = array(1,2,3,4);
//notice reference &
foreach ($array as & $item) {   }

$array2 = array(10,11,12,13);
foreach ($array2 as $item) {   }

print_r($array);

输出:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 13
)

因为第一个foreach将$item作为$array [3]的引用,$array [3]依次设置为$array2中的每个值.

你可以在第一个foreach之后解决这个问题($item),这将删除引用,但这实际上不是你的情况下的一个问题,因为你没有使用foreach的引用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读