如何确保在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的引用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |