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 返回引用的函数 注意在调用和声明的时候都需要加上&
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 返回引用的函数 注意在调用和声明的时候都需要加上&
相关文章推荐
- PHP5.4安装xhprof扩展[不要去pecl下载]
- PHP判断访问用户是使用PC浏览器和手机浏览器
- [PHP] 常用php函数汇总
- 利用matplotlib中imshow()函数绘图
- php视频直播
- Swoole:重新定义PHP
- VSFTPD全攻略(/etc/vsftpd/vsftpd.conf文件详解)
- PhpStorm 设置php代码格式
- 详解WordPress中调用评论模板和循环输出评论的PHP函数
- php str_replace与preg_replace用法区别
- 【转自论坛】系统API中如何实现hotpatching。。。
- PHP简单的图片上传
- PHP eval函数使用介绍
- 如何给VSFTP增加用户,只能访问指定目录
- thinkphp $this->display()报错
- php 的stdClass类的简单实用
- 第三章初识laravel,helloWorld的MVC实现
- 判定ftp上传的脚本
- PHP哈希表碰撞攻击原理
- 七牛php回调响应(unexcepted response)