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的值是什么

PHP面试 PHP基础知识 一(引用变量)的更多相关文章

  1. 【Java面试】基础知识篇

    [Java面试]基础知识篇 Java基础知识总结,主要包括数据类型,string类,集合,线程,时间,正则,流,jdk5--8各个版本的新特性,等等.不足的地方,欢迎大家补充.源码分享见个人公告.Ja ...

  2. 死磕面试 - Dubbo基础知识37问(必须掌握)

    作为一个JAVA工程师,出去项目拿20k薪资以上,dubbo绝对是面试必问的,即使你对dubbo在项目架构上的作用不了解,但dubbo的基础知识也必须掌握. 整理分享一些面试中常会被问到的dubbo基 ...

  3. java 基础知识三 java变量

    java  基础知识 三 变量 1.作用域 {} 包围起来的代码 称之为代码块,在块中声明的变量只能在块中使用 2.常量 就是固定不变的量,一旦被定义,它的值就不能再被改变. 3.变量 变量必须在程序 ...

  4. Java基础知识之常量变量(一)

    1.什么是变量,什么是常量?java的基本数据类型是什么 变量: 会发生改变的数据,叫做变量,如自定义一个a,并且对a进行赋值操作为1,也可以让a等于2,此时a就是一个变量 常量: 不会发生改变的值, ...

  5. 《Java基础知识》Java变量的声明、初始化和作用域

    一.Java变量的声明 在 Java 程序设计中,每个声明的变量都必须分配一个类型.声明一个变量时,应该先声明变量的类型,随后再声明变量的名字.下面演示了变量的声明方式. double salary; ...

  6. C基础知识(2):变量&常量的定义和声明

    变量定义和声明 (1) 使用int,char等类型符定义变量 使用int,char等类型符定义变量时,不管有没有指定初始值,都就已经建立了存储空间(开辟内存).内存寻址由大到小,优先分配内存地址比较大 ...

  7. PHP面试 PHP基础知识 十一(开发环境及相关配置)

    开发环境及相关配置 版本控制软件 集中式和分布式 集中式:集中式版本控制工具,版本库集中存放在中央服务器,团队成员里的每个人工作时从中央服务器下载代码,个人修改后再提交到中央服务器 分布式:分布式版本 ...

  8. PHP面试 PHP基础知识 九(面向对象)

    面向对象 PHP的类权限控制修饰符 public(公共的) . protected(受保护的).private(私有的) public :最高权限   可以在类的内部使用  可以在类的外部使用  可以 ...

  9. PHP面试 PHP基础知识 五(自定义函数和内部函数)

    自定义函数 变量的作用域和静态变量 变量的作用域:变量的作用域也成为变量的范围,变量的范围即它定义上的上下文背景(也就是它生效的范围). 大部分的PHP变量只有一个单独的范围.这个单独的范围跨度同样包 ...

随机推荐

  1. context和getApplicationContext()的区别

    在android中常常会遇到与context有关的内容 浅论一下 context : 在语句 AlertDialog.Builder builder = new AlertDialog.Builder ...

  2. 87、使用TensorBoard进行可视化学习

    1.还是以手写识别为类,至于为什么一直用手写识别这个例子,原因很简单,因为书上只给出了这个类子呀,哈哈哈,好神奇 下面是可视化学习的标准函数 ''' Created on 2017年5月23日 @au ...

  3. 11. Django及数据库环境搭建

    项目背景 我们做功能测试的时候知道,一个产品基本上都会有增删改查功能,对应接口也就是增删改查接口.做了2年接口自动化测试,觉得最难的点应该是数据的初始化,其实测试一个接口.对接口使用单元测试框架.生成 ...

  4. 导数与偏导数 Derivative and Partial Derivative

    之前做了很长时间“罗辑思维”的听众,罗胖子曾经讲起过,我们这一代人该如何学习.其中,就讲到我们这个岁数,已经不可能再去从头到尾的学习一门又一门工具课程了,而是在学习某一领域时,有目的的去翻阅工具课程中 ...

  5. shell编程:变量替换

    定义变量:$ var_1="I love you, Do you love me" 输出变量:$ echo $var_1 打印结果:I love you, Do you love ...

  6. MySQL数据库安装与启动(Linux)

    1.用yum安装 用root权限打开命令行界面,执行以下yum指令: yum安装MySQL yum install mysql mysql-server mysql-devel -y 在最终提示Com ...

  7. UVA 12821 Double Shortest Paths

    Double Shortest PathsAlice and Bob are walking in an ancient maze with a lot of caves and one-way pa ...

  8. 查看linux防火墙的状态

    如有需要可以加我Q群[308742428]大家一起讨论技术,有偿服务. 后面会不定时为大家更新文章,敬请期待. 喜欢的朋友可以关注下.iptables防火墙1.基本操作 # 查看防火墙状态 servi ...

  9. 自定义DbUtils通用类

    本实例使用C3P0连接池做连接,详见https://www.cnblogs.com/qf123/p/10097662.html开源连接池C3P0的使用 DBUtils.java package com ...

  10. flex布局(弹性布局)

    1. 传统布局与 flex 布局比较 传统布局 兼容性好 布局繁琐 局限性,不能在移动端很好的布局 flex 弹性布局 操作方便,布局极为简单,移动端应用很广泛 PC端浏览器支持较差 IE 11 或 ...