zoukankan      html  css  js  c++  java
  • 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的值是什么
  • 相关阅读:
    C+= concurrent_queue 线程安全测试
    c++ 枚举 在函数中的应用
    shell脚本积累
    hibernate+spring整合增删改事务错误
    checkbox批量删除功能
    html全选和取消全选JS
    hibernate+pageBean实现分页dao层功能代码
    table样式
    WebStorm 11 Lisence server
    Kb,KB,Kbps,Mb,Mbps等一些列概念
  • 原文地址:https://www.cnblogs.com/dcrq/p/11039930.html
Copyright © 2011-2022 走看看