Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么引用使用更多内存?_Php_Memory_Reference - Fatal编程技术网

Php 为什么引用使用更多内存?

Php 为什么引用使用更多内存?,php,memory,reference,Php,Memory,Reference,他们不应该让脚本使用更少的内存吗 函数a(&$var)比函数a($var)使用更多的内存 而foreach($k=>数组和$v)使用的内存比foreach($k=>数组和$v) 例如,$var使用24MB。 如果我通过引用传递它,它将使用27 MB(不幸的是),但无法详细解释zend引擎罩下的魔力,我指的是: PHP中的引用是通过不同名称访问相同变量内容的一种方法。它们不像C指针;例如,不能使用它们执行指针算术,它们不是实际的内存地址,等等。有关更多信息,请参阅哪些参考文献不是。相反,它们是符号

他们不应该让脚本使用更少的内存吗

函数a(&$var)比函数a($var)使用更多的内存

foreach($k=>数组和$v)
使用的内存比
foreach($k=>数组和$v)

例如,
$var
使用24MB。 如果我通过引用传递它,它将使用27 MB(不幸的是),但无法详细解释zend引擎罩下的魔力,我指的是:

PHP中的引用是通过不同名称访问相同变量内容的一种方法。它们不像C指针;例如,不能使用它们执行指针算术,它们不是实际的内存地址,等等。有关更多信息,请参阅哪些参考文献不是。相反,它们是符号表别名。注意,在PHP中,变量名和变量内容是不同的,因此相同的内容可以有不同的名称。最接近的类比是Unix文件名和文件-变量名是目录项,而变量内容是文件本身。引用可以比作Unix文件系统中的硬链接


我认为与unix文件系统的比较很容易理解。如果一个文件有多个名称,则需要额外的内存来存储这些名称。

如何测量所使用的内存?内存\u获取\u峰值\u使用您在$var中存储了哪些值?