PHP 函数的引用传递(地址传递&)问题
PHP 中的引用
在PHP 中,变量名和变量内容是不一样的,因此同样的内容可以有不同的名字。在 PHP 中引用意味着用不同的名字访问同一个变量内容。最接近的比喻是 Unix 的文件名和文件本身——变量名是目录条目,而变量内容则是文件本身。引用可以被看作是 Unix 文件系统中的 hardlink。
举个例子:
$a = "nowamagic"; $b =& $a; echo $b.$a;
这意味着 $a 和 $b 指向了同一个变量。同一个变量内容有不同的变量名,引用就是这么个回事。
我们先来一个函数引用传递问题:
function test(&$a) { $a = $a+100; } $b = 1; test($b); echo $b;
答案是 101 ;
函数 test() 直接拿变量的地址作为参数……然后将变量的值+100. test($b) 这里$b传递给函数的其实是$b的变量内容所处的内存地址,通过在函数里改变$a的值就可以改变$b的值了。
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: LayDate 时间选择插件的使用介绍
- 下一篇: PHP 函数传递基本数据类型和数组的内存传递方式