php什么时候unset,PHP变量什么时候释放

本文探讨了PHP中变量的释放,指出在程序执行完毕后变量自动释放。通过示例展示了unset()函数如何销毁变量并释放内存,而赋值为null仅断开引用。强调了只有当所有引用消失,内存才会真正被释放。了解这些细节对于优化PHP程序的内存使用至关重要。
摘要由CSDN通过智能技术生成

423da8ed8ffa95a5605f7842f7e0e2ee.png

PHP变量什么时候释放

PHP变量在程序执行完后释放。

如果你使用完了,想销毁,可以使用unset 来销毁释放

例: unset($str);

unset和null

$var = null;这种方式只是把引用去掉,其实并没有释放内存。unset方法才是php内置的销毁变量、释放内存的方法。

但是需要注意的是,如果在使用unset();对其引用的变量的引用关系还在,那么这块内存暂时还不会被释放,只有当所有变量对这块内存区域的引用都断掉后,这块被释放的内存区域才会被释放。

举例如下:<?php

$s=str_repeat('1',256);

$m=memory_get_usage();

unset($s); //销毁$s

echo $m-memory_get_usage();

?>

结果:272<?php

$s=str_repeat('1',256);

$m=memory_get_usage();

unset($s); //销毁$s

$s = null; //区别在这里,把变量的引用断掉

echo $m-memory_get_usage();

?>

结果:192

更多PHP相关知识,请访问PHP中文网!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值