首页 > 作文

详解PHP变量传值赋值和引用赋值变量销毁

更新时间:2023-04-07 11:14:34 阅读: 评论:0

本文实例为大家分享了php变量传值赋值和引用赋值变量销毁的具体代码,供大家参考,具体内容如下

<?php   $a = 100;   $b = 200;   var_dump($a,$b); //int(100) int(200) ?>

php中,上面的代码,变量小学生建党100周年绘画作品是怎么存放的呢?

上面的代码变动下,将变量b赋值给变量a,会发生什么?

<?php  $a = 100;  $b = 200;  $a = $b;/*多了这个*/  var_dump($a,$b); //int(200) int(200)?>

问题来了,$a = $b,那么是将变量a的指针指向了变量b指针所指向的位置?还是变量a指向的位置的值变了?

引用赋值和上面传值赋值不同,引用赋值是两个变量企业清算公告指向一个地方,一旦这样,一改俱改。

怎么引用赋值呢?变量名前加&即可,

$a = &$b;

这样赋予变量a的就不仅仅是变量b的值,而是变量b的地址,变量a和变量b共同指向一个地址。

<?php  $a = 100;  $b = 200;  $a = &$b;  var_dump($a,$b); //int(200) int(200)  /*变量b引用赋值给变量a后,ab指向同一个地址,将会一改俱改,如下:*/  $a =500;   var_dump($a,$b);//int(500) int(500) 一改俱改  $b = 700;  var落地生根_dump($a,$b);//int(700) int(700)  一改俱改?>

<?php/*理解下面的话*/$a = 100; //变量a赋值int 100 ,100是基础数据类型,不是变量,是存在变量指向位置的$a 软件工程学费= $b;//变量b的值 赋值 给变量a,变量a,b各有各的指向,执行之后,各是各的。$a = &$b;//变量b的值的地址 赋值给变量 a ,变量a,b共用一个地址哦!一改俱改!?>
<?php/*php中unt()是用来销毁变量的,但很多时候,unt()只把变量给销毁了,内存中存放的该变量的值仍然没有销毁,也就是没能达到我们想要的释放内存的效果。这里可以用 变量=null 的方法来释放其内存unt也会释放内存的情况1. 在变量值所占空间超过255字节长的时候,unt(变量)才会释放内存2. 只有当指向该值的所有变量都被销毁后,地址才会被释放(比如$a,$b都指向该值,仅仅unt($a);是不释放的,$b还是正常存在的)(也要执行1的判断) */  $a = 200;  $b = &$a;  unt($a);  var_dump($a,$b); //null int(100)?>

上面的代码,执行到unt($a)时候,就是将变量a的指向断开,同时将变量a扔出花名册,从下图可以看出,对变量b是没有影响的。

但是,如果用$a = null;这种方式销毁变量时,将会有如下影响:

<?php  $a = 100;  $b = &$a;  $a = null;  var_dump($a,$b); //null null?>

这种方式,释放了内存,但是共用一个地址的另一变成熟个变量也受到了影响。

看看这两种方式在数组上的应用:

<?php  $aaa = array(    'a'=>1,    'b'=>2  );  unt($aaa['a']);  print_r($aaa); //array ( [b] => 2 ) ,用unt,数组中这一项不存在了        $bbb = array(    'a'=>1,    'b'=>2  );  $bbb['a'] = null;  print_r($bbb); //array ( [a] => [b] => 2 ) ,用 = null,数组中这一项还存在,只是为空了?>

以上所述是www.887551.com给大家介绍的php变量传值赋值和引用赋值变量销毁详解整合,希望对大家有所帮助

本文发布于:2023-04-07 11:14:33,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/b7a9447011344e7ec46656dff72a4834.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:详解PHP变量传值赋值和引用赋值变量销毁.doc

本文 PDF 下载地址:详解PHP变量传值赋值和引用赋值变量销毁.pdf

标签:变量   赋值   地址   内存
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图