如何获取PHP变量的内存地址?

<?php$a='name';?>下例中,定义一个变量$a,值是name.如何取得$a在内存的实际地址?我想取得$a变量的内存地址,为了测试一个问题:对于$a='name... <?php

$a = 'name';

?>
下例中,定义一个变量$a,值是name.如何取得 $a 在内存的实际地址?

我想取得$a变量的内存地址,为了测试一个问题:
对于 $a = 'name'; 这个句PHP语句
是不是 $a 是在 PHP的虚拟机中保持的实际是到内存的堆(heap)中的地址,内存其实不知道$a 只是在内存堆中 0xAFF($a的内存地址)保存值name,
/-- 内存地址 heap --/ /-- 内存值 --/
/-- 0xAFFF --/ /-- name --/

而对于 $arr = array(1,2,3);
首先会在内存堆(heap)中完成array(1,2,3)语句,得到数组起始地址 0xAAAA,然后把这个起始地址放在栈(stack)中。
/-- 内存地址 heap --/ /-- 内存值 --/
/-- 0xAAAA --/ /--1,2,3 --/
...
...
/-- 内存地址 stack --/ /-- 内存值 --/
/-- 0xFFFF --/ /--0xAAAA --/

当 $arrayCopy = $arr; 数组和对象是引用复制
修改 $arrayCopy时,$arr也会改变。

意思是:我能获取变量的内存地址,就能验证我的思路是否正确?求帮助
展开
 我来答
千锋教育
2016-01-08 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部

  不能获取PHP变量的内存地址

  1. “在一个页面执行完后,依然调可以用这个地址”,这种需求本身就是无理的

  2. PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。

  3. 它可以比CGI或者Perl更快速地执行动态网页。

百度网友a19d193
推荐于2016-10-16 · TA获得超过3446个赞
知道大有可为答主
回答量:1464
采纳率:100%
帮助的人:1458万
展开全部
楼上说的对,没必要搞这么深,而且脱离了你的主题就更没意思了。
$arrayCopy是$arr的copy,两者没有关系,如果你希望那样的话可以用
$arrayCopy = &$arr,此时$arrayCopy是$arr的引用,也就是说修改这个时那个也变了。

php中的对象实例是引用方式传递的,其他一般都是传值,除非加&表示传址。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
及时雨文档铺子
2013-04-11 · TA获得超过390个赞
知道小有建树答主
回答量:193
采纳率:100%
帮助的人:68万
展开全部
PHP你没有必要研究这个,对于在内存的存放PHP他已经经过几层编译了,PHP,不像C,C++或是汇编等语言,对底层和硬件的操作很少接触。你要弄懂这个原理,建议你好好学习下C语言。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gjgj821
2013-04-11 · TA获得超过416个赞
知道小有建树答主
回答量:501
采纳率:100%
帮助的人:471万
展开全部
你不用去验证你的思路,本身php就是这么做的
是引用复制,但在一些底层的操作中,php对不同的操作都做了不同的设置

关于这些你可以通过研究PHP的源代码去分析PHP的内存原理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式