gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-10-31 23:57:51 26 4
gpt4 key购买 nike

我正在编写一个简单的 PHP 页面,并使用了一些 foreach 循环。

脚本如下:

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

foreach ($arrs as $arr) {
if(substr($arr,0,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,0,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 之后执行 unset($item) 来解决这个问题,这将删除引用,但是 这实际上不是问题在你的情况下,因为你没有使用 foreach 的引用。

关于php - 如何确保在 PHP 的 'foreach' 循环中重置该值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2728709/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com