本文主要和大家分享php的传值和引用讲解,主要以文字的形式和大家分享,希望能帮助到大家。
介绍:
每个php变量存在一个叫"zval"的变量容器中。一个zval变量容器,除了包含变量的类型和值,还包括两个字节的额外信息。第一个是"is_ref",是个bool值,用来标识这个变量是否是属于引用集合(referenceset)。通过这个字节,php引擎才能把普通变量和引用变量区分开来,由于php允许用户通过使用&来使用自定义引用,zval变量容器中还有一个内部引用计数机制,来优化内存使用。第二个字节是"refcount",用以表示指向这个zval变量容器的变量(也称符号即symbol)个数。当"refcount"的值是1时,”is_ref”的值总是FALSE.
例:
<?php$a = 10; //将常量值赋给变量,会为a分配内存空间$b = $a; //变量赋值给变量,给b分配了内存空间,并将a变量的类型和值复制一份存储到b的存储空间 $c = &$a; //引用是不会为c分配空间的,c和a是共用一份内存空间数据。
PHP中将一个变量赋值给新变量时,不会立即为新变量分配内存空间,只是增加了对内存空间的引用。当原变量或者新变量作出任何改变时,才会为新变量 分配一块内存空间。
相关推荐:
立即学习“PHP免费学习笔记(深入)”;
以上就是php的传值和引用讲解的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号