php如何使用函数销毁变量
时间:2021-08-16
来源:互联网
今天PHP爱好者给大家带来php如何使用函数销毁变量的方法,上一篇文章我们了解了反序列化对象或数组的方法,有需要的请看《php如何反序列化数组和对象》。这次我们向大家介绍使用函数销毁变量的方法,有需要的可以参考参考。希望对大家有所帮助。
在开始文章之前,我们先来看一下什么是变量的销毁。
PHP的变量或对象的销毁可以分成显式销毁和隐式销毁:
1、显式销毁,当对象没有被引用时就会被销毁,所以我们可以unset或为其赋值NULL;
2、隐式销毁,PHP是脚本语言,在代码执行完最后一行时,所有申请的内存都要释放掉。
我们今天要介绍的就是显式销毁中的unset。
我们先来看一个小栗子。
<?php
class Human {
public $name = '张三';
public $gender = null;
public function __destruct() {
echo '结束!<br />';
}
}
$a = new Human();
$b = $c = $d = $a;
unset($a);
$d=null;
echo '<hr />';
var_dump($a);
echo '<hr />';
var_dump($b);
echo '<hr />';
var_dump($c);
echo '<hr />';
var_dump($d);
?>
结果是
话不多说,让我们来看一下这个函数吧。
unset()函数用于销毁给定的变量。
所以unset()并没有真正销毁变量中内存值,仅仅是切断了变量与内存之间的关系,并将变量名也给干掉了,但内存只要还被引用着就不会被释放;而在PHP中对象的传值默认是引用传值,这也解释了Human
类中,$a被unset()
了,但是$b =$c = $d
一样有值。
再来看看这个函数的语法吧。
void unset (要销毁的变量)
如果unset()是函数中的全局变量,则只销毁局部变量,并且调用环境中的变量将保持与调用unset()之前相同的值。
如果unset()是函数中通过引用传递的变量,则只销毁局部变量,并且调用环境中的变量将保持与调用unset()之前相同的值。
如果unset()是函数中的静态变量,则静态变量将在函数中销毁。但是,当再次调用此函数时,静态变量将恢复到上次销毁之前的值。
以上就是php如何使用函数销毁变量的详细内容,更多请关注php爱好者其它相关文章!
-
gpt分区和mbr分区的区别?如何创建gpt分区教程(有关gpt 分区和mbr分区的区别) 时间:2025-06-27
-
最终幻想14水晶世界强腕的居格斯打法(最终幻想14水晶世界) 时间:2025-06-27
-
LTC币今日行情及本周价格走势(币安行情) 时间:2025-06-27
-
幻兽帕鲁凉晶鲸BOSS位置(幻兽帕鲁多少钱) 时间:2025-06-27
-
死亡搁浅2星野源位置及歌曲解锁方法(死亡搁浅2星野源) 时间:2025-06-27
-
死亡搁浅2次要订单101支线任务攻略(死亡搁浅2次要多少钱) 时间:2025-06-27
今日更新
-
让人眼前一亮的五个前端小技巧
阅读:18
-
php一招搞定“自然”算法比较字符串的异同(区分大小写)
阅读:18
-
php如何反序列化数组和对象
阅读:18
-
PHP趣味输出6*6乘法表
阅读:18
-
微信小程序如何优化?你可能不知道的优化知识大分享
阅读:18
-
PHP循环学习六:对象如何进行遍历
阅读:18
-
你不得不知道的php7小知识
阅读:18
-
ps新手篇:如何给图片添加透视效果(分享)
阅读:18
-
sql语句中的with as该怎么用
阅读:18
-
用js快速求出三角形面积
阅读:18