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

PHP引用变量

  常见引用变量面试题:

      什么是引用变量?

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

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

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

        定义方式:&符号

  延伸:PHP引用变量的原理

     

//定义一个变量
$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的值是什么

 

posted @ 2019-06-17 15:27  进化史  阅读(214)  评论(0编辑  收藏  举报