关于变量赋值?
Jun 23, 2016 pm 02:27 PM
请问像一个变量赋值
$foo=25;
如果执行了这一句话,是不是在内存中同时开辟两个存储空间啊 一个是存储值25,另一个$foo里面存的是值25的地址。
下面我这样的理解是对的吗?
不然,如果是开辟一个空间那unset的时候值25应该被释放了啊:
$foo=25;
$boo=&$foo;
unset($boo);
echo $foo; //输出25
回复讨论(解决方案)
哥们,PHP5.4之后的引用部分改变了
$foo=25;$boo=$foo;unset($boo);echo $foo; //输出25func(&$var); function func(&$var){ //对$var的一系列运算处理 }但到了php5.4以后的版本,对数组和对象的引用传递发生了变化,是这样的:func($var); //注意这里,调用函数的时候已经没有了&,但定义的时候还有function func(&$var){//对$var的一系列运算处理}
这就好比你在桌面创建了一个快捷方式,你把快捷方式删了,但是东西还在原来的位置。
等待大鸟。。。
如果你在使用unset();对其引用的变量的引用关系还在,那么这块内存暂时还不会被释放,只有当所有变量对这块内存区域的引用都断掉后,这块被释放的内存区域才会被释放
如果你在使用unset();对其引用的变量的引用关系还在,那么这块内存暂时还不会被释放,只有当所有变量对这块内存区域的引用都断掉后,这块被释放的内存区域才会被释放
谢谢回复,您好我只是想知道 当PHP解析器遇到$foo=25 在内存中的变化情况,可以指点下吗,谢谢啦
如果是对象
那么 $foo 保存的是对象的地址
$boo = $foo 只是copy了一个地址给他
但是 数据 25 只是一个 数值 所以 不会有 25这个对象 地址直接就是 数值
$boo存放的是$foo的地址
php 的变量管理可以简化为维护这样一张表

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

11 skrip pemendek URL terbaik PHP (percuma dan premium)

Bekerja dengan Data Sesi Flash di Laravel

Bina aplikasi React dengan hujung belakang Laravel: Bahagian 2, React

Respons HTTP yang dipermudahkan dalam ujian Laravel

Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API REST

12 skrip sembang php terbaik di codecanyon

Pengumuman Penyiasatan Situasi PHP 2025
