PHP7 学习笔记(十七)变量函数 - unset

https://secure.php.net/manual/zh/function.unset.php

unset()函数用来清除、销毁变量,不用的变量,可以用unset()将它销毁。

1、unset()却无法达到销毁变量占用的内存。案例

 

面试题

$str = 'Tinywan';
$name = &$str;
unset($str);
echo $name; // Tinywan

问题:为什么结果会输出 Tinywan 呢,$str 不是销毁了吗?$name引用一个销毁的怎么输出的不是空白呢? 

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

$str = 'Tinywan';
$name = &$str;
echo $str."<br/>"; // Tinywan
echo $name."<br/>"; // Tinywan
$name = 'Tinyaiai';
echo $str."<br/>"; // Tinyaiai

  

 

posted @ 2018-10-17 08:47  Tinywan  阅读(470)  评论(0编辑  收藏  举报