php--引用变量

无意间看到个题目,挺有意思记录一下

引用变量:

  引用意味着用不同的名字访问同一个变量内容。

  $a =&$b;($a 和 $b永远指向同一个地址。unset只会取消引用,不会销毁空间。对象本身就是引用传递。)

题1:

题2:

<?php
/**
 * Created by PhpStorm.
 * User: huahua
 * Date: 2019/6/28
 * Time: 上午10:29
 */

$data = ['a','b','c'];
foreach($data as $k=>$v)
{
    $v = &$data[$k];
}
var_dump($data);

/**
 * 循环1 $v=&$data[0],$data=['a','b','c']
 * 循环2 $v=b=&$data[0],$data=['b','b','c']         ps:因为$v和$data[0]指向的同一个地址,所以循环2,$v=b,$data[0]=b,$data=['b','b','c']
 * 循环3 $v=c=&$data[1],$data=['b','c','c']
 */

 题3:

第一次遍历后的结果为:array('0'=>"a","1"=>'b','2'=>&c)

第二次遍历是给索引c赋值(指向引用也可以操作他的值)

  第一次赋值 a11, b22, a11

  第二次赋值 a11, b22, b22

  第三次赋值 a11, b22, b22 

猜你喜欢

转载自www.cnblogs.com/8013-cmf/p/11101966.html