byname1 2023-10-21 15:16 采纳率: 53.8%
浏览 1
已结题

我unset了之后为什么第二次foreach循环还是输出2468

img


我unset了之后为什么第二次foreach循环还是输出2468

  • 写回答

1条回答 默认 最新

  • Stephen_112 2023-10-21 15:39
    关注

    你unset个$value有什么用,foreach是遍历的$arr,谁教你的这些写法。 想把数组中对应的某个值unset要这么写。
    还有就是,没理解了&的作用时,最好不要用,用了&以后,让代码不好理解而且这里完全不需要用&就能搞定的。

    <?php
    
    $arr = array(1,2,3,4);
    //假设要unset下标为2的值
    foreach($arr as $key => $value){
            $arr[$key] = $value * 2;
            echo $arr[$key];
            // unset 下标为2的数值
            if($key == 2){
                unset($arr[$key]);
            }
        }
    echo "<br>------------------这是分割线------------------<br>";
    foreach($arr as $value){
         echo $value;
    }
    
    ?>
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 10月29日
  • 已采纳回答 10月21日
  • 创建了问题 10月21日