zoukankan      html  css  js  c++  java
  • php foreach的使用注意

    众所周知,foreach用于对数组的遍历,但是,在foreach($arr as $value)中,$value只是原值的一个副本,因此如果在foreach里进行该数值的修改,是不会影响到源数组的。

    例:

    <?php
    
        $colors= array('red','blue','green','yellow');
        
        foreach ($colors as $color){
            $color = "xxxx";
        }
        
        foreach ($colors as $color){
            echo $color."<br></br>";
        }
    ?>

    在上例中,第一个foreach循环并没有修改到$colors这个数组,所以在第二个foreach循环的时候还是输出:

    red
    
    blue
    
    green
    
    yellow

    如何使得foreach($arr as $value)中的$value不是一个副本而可以在foreach循环中进行原数值的修改呢?

    其实很简单,将其改为foreach ($arr as &$value),即在$value前添加取地址符。

     

    还需要注意的是,当 foreach 开始执行时,数组内部的指针会自动指向第一个单元。这意味着不需要在 foreach 循环之前调用 reset()。 

  • 相关阅读:
    进程总结
    三大流程
    canvas简介
    时钟
    vim
    马拉车
    模拟退火
    洛谷P2055假期的宿舍
    洛谷P2320鬼谷子的钱袋.
    洛谷P2278操作系统
  • 原文地址:https://www.cnblogs.com/wuyou/p/3378480.html
Copyright © 2011-2022 走看看