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#后台调用Delphi 的Ocx
    打包.NET程序
    Tomcat配置虚拟目录、多域名、多个Http监听端口的方式
    检测多个Jar包冲突的class
    SessionFactoryImpl.get错误:java.lang.ArrayIndexOutOfBoundsException: 68问题
    搭建内网搜索平台
    cvs update报错
    混淆和加密.NET开发工具
    CVS报错:could not find desired version问题的解决
    记录一次接口压力测试结果
  • 原文地址:https://www.cnblogs.com/dcrq/p/11039930.html
Copyright © 2011-2022 走看看