您的位置:首页 > 编程语言 > PHP开发

php 函数参数引用和普通变量 传参区别

2016-01-05 15:24 405 查看
function func($b) {

xdebug_debug_zval('b');//refcount 3 不明白等于3 是不是其中哪里引用 应该是2

debug_zval_dump($b);//refcount 4 函数本身 增加了一个 引用计数

}

$b = 1;

func($b);//未对参数进行拷贝分离操作 因为参数要求和实际传递一致 在函数里面实际写操作时 才进行拷贝分离

$a = &b;

func($b); //次数会进行 拷贝分离 因为 $b已经是引用类型。。而函数要求是值类型。。防止函数里面 修改了外部变量 在函数调用时就进行拷贝分离。。这样在一些实际应用时,,如果这个参数很大 数组。。则会消耗时间很大

函数传参相当于赋值过程

$c='123';

strlen($c);//复杂度 O(1) 因为 字符串存储了长度 和 C语言不同 (C语言复杂度O(n))

php 返回引用的函数 注意在调用和声明的时候都需要加上&
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: