PHP引用变量

  常见引用变量面试题:

      什么是引用变量?

      在PHP中用什么符号定义引用变量?

  考点:PHP的引用变量的概念及定义方式

     概念:在PHP中引用意味着用不用的名字访问同一个变量内容

        定义方式:&符号

  延伸:PHP引用变量的原理

     PHP面试  PHP基础知识 一(引用变量)-LMLPHP

//定义一个变量
$a = range(0,100); //内存开辟一块空间存储$a
//定义变量b,将a变量赋值给b
//cow copy on write cow机制
$b = $a; //此时不会新开辟一块新空间存储$b
//当$a或$b发生改变 才会开辟一块新空间
$a = range(0,100); //开辟新空间存储新值 //应用变量
$b = &$a; //此时使用了引用变量 $a,$b同时指向一个变量空间
$a = range(0,100); //不会开辟新空间存储新值
//改变原空间值 $b随$a改变而改变

  unset知识点:

//unset 只会取消引用  不会销毁内存空间

$a = 1;

$b = &$a;  //$b引用$a

unset($b);  //取消引用

echo  $a;   //  结果  1   

  对象引用知识点:

// 对象本身就是引用传递
class person{
public $name = "xiaomiaomiao";
} $p1 = new person(); //实例化person类 $p2 = $p1; //$p1 赋值 $p2 $p2->name = "xiaowangwang"; //p2修改name值 不会开辟新空间

  引用变量例题

//写出如下程序输出的结果

$data = [ 'a', 'b', 'c' ];

foreach($data as $key = $v){

      $val = &$data[$key];

}

//程序运行时,每一次循环结束后变量$data的值是什么?
//程序执行完成后,变量$data的值是什么
05-28 20:26