PHP中迭代变量的坑

<?PHP
    $a = array('a','b','c','d','e','f');
    foreach($a as &$v){

    }
    /** 
     * 在第一次foreach中$v是迭代变量
     * 循环进行了6次
     * 第一次 $v=&$a[0];
     * 第二次 $v=&$a[1];
     * ...
     * 第六次 $v=&$a[5];
     * 最终引用变量$v指向数组的第6个元素内存空间
    */
    // var_dump($a);
    foreach($a as $v){
        var_dump($a);  
    }
    /** 
     * 在第二次foreach中$v等同于第一个foreach中的$v
     * 循环进行了6次
     * 第一次 $v=$a[0];所以$a[0]===$a[5];
     * ['a','b','c','d','e','a']
     * 第二次 $v=$a[1];所以$a[1]===$a[5];
     * ['a','b','c','d','e','b']
     * 第三次 $v=$a[2]; 
     * ['a','b','c','d','e','c']
     * 第四次 $v=$a[3]; 
     * ['a','b','c','d','e','d']
     * 第五次 $v=$a[4]; e
     * ['a','b','c','d','e','e']
     * 第六次 $v=$a[5];所以$a[5]===$a[5]
     * ['a','b','c','d','e','e']
    */    
   var_dump($a);    

  

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...