$test="aaaaa";

$abc=&$test;

unset($test);

echo $abc;

为什么结果会输出aaaaa呢,$test不是销毁了吗?$abc引用一个销毁的怎么输出的不是空白呢?

查了下资料,将原因分析如下:

变量存储数据时可以理解为变量的值放在一个空间里,而变量有一个地址指向那个空间,就如你的$test="aaaaa"; 变量$test就有一个地址指向存储了aaaaa的空间,当$abc=&$test; 这时就是把$test指向那个空间的地址赋给了$abc,所以当$abc取出的值跟$test是一样的,都访问的同样的一个空间,同样当改变$abc的值时(如$abc="bbbbb")就是直接改变了那个空间里的值,这时你会发现$test的输出值也跟着改变了,这就是引用;

如果是直接赋值,即$abc=$test;这时就会有一个新空间,存储的值也是aaaaa,并且$abc的地址指向这个新空间,这时$abc、$test两个变量的值相同,但他们相互不影响了,改变其中的一个值另外一个不影响,这就是传值。

你这里是因为在引用之后才销毁的变量$test,这时变量$test不存在了,,但存储值aaaaa的那个空间还存在,并且$abc的地址指向那个空间,所以echo $abc 就输出aaaaa

unset只是将该变量名地址进行了销毁,但没有销毁储存变量指向的空间的值

php中unset面试题,php unset和引用——由一道php面试题引发的思考相关推荐

  1. 一道大厂Python面试题,4种解法,从青铜到王者引发的“思考”!

    "菜鸟学Python",第"518"篇原创 金九银十应该是校招的黄金时间,大家都知道去大厂面试,算法是一个必须要过的关,无论是笔试还是面试的环节都需要.而算法这 ...

  2. php unset函数_PHP | 使用unset()函数从数组中删除元素

    php unset函数 Given an array and we have to remove an element from the array. 给定一个数组,我们必须从数组中删除一个元素. u ...

  3. unset 函数php,PHP unset()函数

    PHP unset() 函数 unset()函数是PHP的预定义变量处理函数,用于取消设置指定的变量.换句话说,"unset()函数破坏了变量". 该函数的行为在用户定义函数内部有 ...

  4. 一道Python面试题,据说大部分人都中招了,纷纷开始怀疑自己

    无意间,看到这么一道Py无意间,看到这么一道Python面试题:以下代码将输出什么? def testFun(): temp = [lambda x : i*x for i in range(4)] ...

  5. 在c语言程序中 对文件进行操作首先要,《C语言程序设计》试题八及答案

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如果有侵权请立即联系:55525090@qq.com,我 ...

  6. 中心睿典计算机考试题,中星睿典全国专业技术人员计算机应用能力考试模拟试题库答案_WindowsXP的窗口...

    中星睿典全国专业技术人员计算机应用能力考试模拟试题库答案_WindowsXP的窗口 中星睿典全国专业技术人员计算机应用能力考试模拟试题库答案_WindowsXP的窗口 1.要求:调出网上邻居窗口,并打 ...

  7. 历史上最简单的一道Java面试题,但无人能通过

    作者:方志宏 来源:zhuanlan.zhihu.com/p/57859872 这可能是历史上最简单的一道java面试题了. 题目很简单,完成代码,判断一个整数是否是奇数: public boolea ...

  8. 浅入深谈:一道Python面试题,让我明白了殊途同归,却开始怀疑自己

    无意间,看到这么一道Python面试题:以下代码将输出什么? 脑中默默一想,这还用说么,肯定是: 0 2 4 6 最后一看答案,竟然是: 6 6 6 6 于是带着怀疑的心态(其实是不服输,不认错),打 ...

  9. 一道Python面试题

    无意间,看到这么一道Python面试题:以下代码将输出什么? def testFun(): temp = [lambda x : i*x for i in range(4)] return temp ...

最新文章

  1. asp.net 检测是否关注公众号_太阳电池缺陷检测方法光致发光检测法
  2. 匹配内容主要分为三部分,负载电容的匹配,驱动功率的调试,负性阻抗的测量。...
  3. ruby Rspec+jenkins+allure持续集成
  4. [恢]hdu 1028
  5. iOS UIView的一些方法和属性(本博客侧重于视图布局部分的学习)
  6. Gym - 102460A Rush Hour Puzzle(dfs迭代加深)
  7. 哈工大博士历时半年整理的《Pytorch常用函数函数手册》开放下载!内含200余个函数!...
  8. 多播委托(multicast delegate)
  9. 造了一个 Redis 分布锁的轮子,没想到还学到这么多东西!!!
  10. SQLi LABS Less-19
  11. 获取文本上字符出现的次数,把数据写入文件
  12. 研华数据采集卡如何采集压力信号转化为数字信号_感知世界的模拟量信号
  13. Windows下定时器与多线程的区别
  14. java读取rar_java怎么读取Zip和RAR里面的文件啊?
  15. 身份证号码查询-完整提供 Demo 代码示例及数据专业且全面的 API 查询接口
  16. 百度 图像识别Api logo识别 基于java的Demo
  17. 不是后端也应该知道的「 web 服务、子服务、服务的部署」
  18. 认知计算、大数据及人工智能革命
  19. c语言中的整型常量和实型常量
  20. git clone失败:Cloning into... fatal: unable to access... error setting certificate verify locations

热门文章

  1. [翻译] .NET Core 3.0 Preview 9 发布
  2. Identity和IdentityServer的区别及联系
  3. Build 2018,给你带来全新的开发者体验, .NET Core 3.0带来桌面支持
  4. 我是这样入侵 Hacking Team 的
  5. WebAPI前置知识:HTTP与RestfulAPI
  6. c语言不规则窗口,C语言不规则数组和指针
  7. PHP使用for循环打出星号表格,console - JavaScript中,使用for循环输出如下图形(等腰三角形,和平行四边形)?原理是啥?...
  8. 测绘地理信息标准(国家、行业、地方)大全来了:测绘地理信息标准化服务平台
  9. C语言试题八十一之利用递归函数调用方式,将所输入的5个字符,相反顺序打印
  10. linux之通过grep使用or、and、not操作