设为首页 加入收藏

TOP

PHP引用(&)使用详解(三)
2018-10-07 10:09:34 】 浏览:243
Tags:PHP 引用 使用 详解
输出数组大小。


function printArray(&$arr){ //引用传递
  print(count($arr));
}
printArray($a);


上面的代码中,我们通过引用把$a数组传入printArray()函数,zend引擎会认为printArray()可能会导致对$a的改变,此时就会自动为$b生产一个$a的数据拷贝,重新申请一块内存进行存储。这就是前面提到的“写时拷贝”概念。


如果我们把上面的代码改成下面这样:


function printArray($arr){  //值传递
  print(count($arr));
}
printArray($a);


上面的代码直接传递$a值到printArray()中,此时并不存在引用传递,所以没有出现写时拷贝。


大家可以测试一下上面两行代码的执行效率,比如外面加入一个循环1000次,看看运行的耗时,结果会让你知道不正确使用引用会导致性能下降30%以上。


自我理解:按传值的话是与函数内的参数无关,相当于局部变量的作用,而按传址(引用)的话却与函数内的参数有关,相当于全局变量的作用.而从性能方面来说,看上面分析就够.


首页 上一页 1 2 3 4 下一页 尾页 3/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇PHP 全局变量概述 下一篇Android长时间定时任务实现

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目