function test(){
        $datas = [100,200,300,400];
        foreach ($datas as &$item){
 
        }
        foreach ($datas as $item){
 
        }
        dump($datas);
    }

输出如下

array(4) {
[0] => int(100)
[1] => int(200)
[2] => int(300)
[3] => &int(300)
}

    function testaa(){
        $datas = [100,200,300,400];
        foreach ($datas as &$item){
 
        }
 
        foreach ($datas as $item){
            dump($datas);
        }
    }

输出如下
array(4) {
[0] => int(100)
[1] => int(200)
[2] => int(300)
[3] => &int(100)
}
array(4) {
[0] => int(100)
[1] => int(200)
[2] => int(300)
[3] => &int(200)
}
array(4) {
[0] => int(100)
[1] => int(200)
[2] => int(300)
[3] => &int(300)
}
array(4) {
[0] => int(100)
[1] => int(200)
[2] => int(300)
[3] => &int(300)
}

解决方法如下:

    function test(){
        $datas = [100,200,300,400];
        foreach ($datas as &$item){
 
        }
        foreach ($datas as $itemOrder){
 
        }
        dump($datas);
    }
    function test(){
        $datas = [100,200,300,400];
        foreach ($datas as &$item){
 
        }
        unset($item);  // 取消引用
        foreach ($datas as $itemOrder){
 
        }
        dump($datas);
    }

参考地址 https://zhidao.baidu.com/question/2081052214131826308.html

发表评论

邮箱地址不会被公开。 必填项已用*标注