测试代码test.php:

function microtime_float()

{

list($usec, $sec) = explode(" ", microtime());

return ((float)$usec + (float)$sec);

}

function a($arr) {

$data = [];

foreach($arr as $var) {

$data[] = $var;

}

return $data;

}

function b(&$arr) {

$data = [];

foreach($arr as $var) {

$data[] = $var;

}

return $data;

}

$arr = [

[

‘aaa‘ => [

‘aaa‘=>‘bbb‘,

‘bbb‘=>‘bbb‘,

‘ccc‘=>‘bbb‘,

‘ddd‘=>‘bbb‘,

‘eee‘=>‘bbb‘,

‘fff‘=>‘bbb‘,

‘add‘=>‘bbb‘,

‘dse‘=>‘bbb‘,

‘dad‘=>‘bbb‘,

‘dsa‘=>‘bbb‘,

‘das‘=>‘bbb‘,

‘ewq‘=>‘bbb‘,

‘qer‘=>‘bbb‘,

‘qad‘=>‘bbb‘,

‘asz‘=>‘bbb‘,

‘gda‘=>‘bbb‘,

‘abc‘=>‘bbb‘,

‘vbv‘=>‘bbb‘,

‘ewq‘=>‘bbb‘,

‘tew‘=>‘bbb‘,

],

‘bbb‘ => [

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>[

‘aaa‘=>‘bbb‘,

‘bbb‘=>‘bbb‘,

‘ccc‘=>‘bbb‘,

‘ddd‘=>‘bbb‘,

‘eee‘=>‘bbb‘,

‘fff‘=>‘bbb‘,

‘add‘=>‘bbb‘,

‘dse‘=>‘bbb‘,

‘dad‘=>‘bbb‘,

‘dsa‘=>‘bbb‘,

‘das‘=>‘bbb‘,

‘ewq‘=>‘bbb‘,

‘qer‘=>‘bbb‘,

‘qad‘=>‘bbb‘,

‘asz‘=>‘bbb‘,

‘gda‘=>‘bbb‘,

‘abc‘=>‘bbb‘,

‘vbv‘=>‘bbb‘,

‘ewq‘=>‘bbb‘,

‘tew‘=>[

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>[

‘aaa‘=>‘bbb‘,

‘bbb‘=>‘bbb‘,

‘ccc‘=>‘bbb‘,

‘ddd‘=>‘bbb‘,

‘eee‘=>‘bbb‘,

‘fff‘=>‘bbb‘,

‘add‘=>‘bbb‘,

‘dse‘=>‘bbb‘,

‘dad‘=>‘bbb‘,

‘dsa‘=>‘bbb‘,

‘das‘=>‘bbb‘,

‘ewq‘=>‘bbb‘,

‘qer‘=>‘bbb‘,

‘qad‘=>‘bbb‘,

‘asz‘=>‘bbb‘,

‘gda‘=>‘bbb‘,

‘abc‘=>‘bbb‘,

‘vbv‘=>‘bbb‘,

‘ewq‘=>‘bbb‘,

‘tew‘=>[

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>[

‘aaa‘=>‘bbb‘,

‘bbb‘=>‘bbb‘,

‘ccc‘=>‘bbb‘,

‘ddd‘=>‘bbb‘,

‘eee‘=>‘bbb‘,

‘fff‘=>‘bbb‘,

‘add‘=>‘bbb‘,

‘dse‘=>‘bbb‘,

‘dad‘=>‘bbb‘,

‘dsa‘=>‘bbb‘,

‘das‘=>‘bbb‘,

‘ewq‘=>‘bbb‘,

‘qer‘=>‘bbb‘,

‘qad‘=>‘bbb‘,

‘asz‘=>‘bbb‘,

‘gda‘=>‘bbb‘,

‘abc‘=>‘bbb‘,

‘vbv‘=>‘bbb‘,

‘ewq‘=>‘bbb‘,

‘tew‘=>‘bbb‘,

],

],

],

],

],

],

‘ccc‘ => [

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>‘bbb‘,

‘caa‘=>[

‘aaa‘=>‘bbb‘,

‘bbb‘=>‘bbb‘,

‘ccc‘=>‘bbb‘,

‘ddd‘=>‘bbb‘,

‘eee‘=>‘bbb‘,

‘fff‘=>‘bbb‘,

‘add‘=>‘bbb‘,

‘dse‘=>‘bbb‘,

‘dad‘=>‘bbb‘,

‘dsa‘=>‘bbb‘,

‘das‘=>‘bbb‘,

‘ewq‘=>‘bbb‘,

‘qer‘=>‘bbb‘,

‘qad‘=>‘bbb‘,

‘asz‘=>‘bbb‘,

‘gda‘=>‘bbb‘,

‘abc‘=>‘bbb‘,

‘vbv‘=>‘bbb‘,

‘ewq‘=>‘bbb‘,

‘tew‘=>[

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>‘bbb‘,

‘qaa‘=>[

‘aaa‘=>‘bbb‘,

‘bbb‘=>‘bbb‘,

‘ccc‘=>‘bbb‘,

‘ddd‘=>‘bbb‘,

‘eee‘=>‘bbb‘,

‘fff‘=>‘bbb‘,

‘add‘=>‘bbb‘,

‘dse‘=>‘bbb‘,

‘dad‘=>‘bbb‘,

‘dsa‘=>‘bbb‘,

‘das‘=>‘bbb‘,

‘ewq‘=>‘bbb‘,

‘qer‘=>‘bbb‘,

‘qad‘=>‘bbb‘,

‘asz‘=>‘bbb‘,

‘gda‘=>‘bbb‘,

‘abc‘=>‘bbb‘,

‘vbv‘=>‘bbb‘,

‘ewq‘=>‘bbb‘,

‘tew‘=>‘bbb‘,

],

],

],

],

]

];

$time = microtime_float();

echo ‘first start: ‘.$time."\n";

//for ($i = 0 ; $i<5000000; $i++) {

//

// a($arr);

//}

a($arr);

$end = microtime_float();

echo ‘first end:‘.$end."\n";

echo ‘value used:‘.bcsub($end , $time,4);

echo "\n";

echo "\n";

echo "\n";

$time = microtime_float();

echo ‘second start:‘.$time."\n";

//for ($i = 0 ; $i<5000000; $i++) {

// b($arr);

//}

b($arr);

$end = microtime_float();

echo ‘second end:‘.$end."\n";

echo ‘second used:‘.bcsub($end,$time,4);

echo "\n";

测试方法:

watch -n 1 -d php test.php

// 输出

first start: 1539332451.0195

first end:1539332451.0197

value used:0.0002

second start:1539332451.0198

second end:1539332451.0198

second used:0.0000

first start: 1539332463.6168

first end:1539332463.6169

value used:0.0001

second start:1539332463.6169

second end:1539332463.6169

second used:0.0000

结论:

传引用的性能要高于传值,特别是传递的值比较大的时候,性能会很明显。这是因为传引用只是复制了地址(一个16进制数)

并发的瓶颈一般不会再php,而是在框架、在数据库。

原文:https://www.cnblogs.com/gelu/p/9778864.html

php传值和引用哪个效率高,php方法传值和传引用性能比较相关推荐

  1. linux和ios哪个效率高,8月iOS最强设备性能排行榜

    今天,安兔兔公布了8月份国内iOS设备的性能排行情况,和上月的情况相同,在搭载A12处理器的全新一代iPhone发布之前,iOS性能排行版处在相对稳定的状态下,不会有较大的波动. 不过,再有10天,新 ...

  2. [转]详细讲解提高数据库查询效率的实用方法、外键关于性能

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...

  3. JavaScript 是传值调用还是传引用调用?

    1. 例子 先来看两个个来自于 <JavaScript 高级程序设计>P70-P71 的两个例子. 1.1. 基本类型参数传递 function addTen(num) {num += 1 ...

  4. C++ 函数参数传递:传值,传指针,传引用

    PS:首先理解形参   实参概念.形参是在函数定义的括号内定义的专用变量,它们的目的是保存按实参传递给它们的信息,实参被列在函数调用语句的括号内. int func(int x)//x是形参 {ret ...

  5. case when 效率高不高_南京薄蜂窝纸板效率高

    目前国产的瓦楞纸板都不同程度地存在起泡现象,它在很大程度上影响了瓦楞纸板的质量,若每平方米脱胶部分面积之和大于500px~2,则纸板为不合格产品,因此,有效地控制和脱胶和起泡缺陷,对生产企业提高产品质 ...

  6. C++中的参数传递方式:传值、传地址、传引用总结

    指针:指针是一个变量,只不过这个变量中存储的是一个地址,指向内存中的一个单元. 引用:引用和原变量是同一个东西,只不过是原变量的一个别名. int a = 10; 定义一个整型变量aint *p = ...

  7. 传值调用 与传地址调用(传引用)

    转自:http://myturn.blog.hexun.com/15584978_d.html #include <iostream> using namespace std ; void ...

  8. 移除集合效率高还是add高_List、set集合接口分析

    一.List接口详解 1.List接口有三个实现类,ArrayList.LinkedList.Vector 2.三个实现类的异同点: (1)ArrayList: 作为list接口的主要实现类:线程不安 ...

  9. 传值类型_Java内存管理:Stackoverflow问答-Java是传值还是传引用(十一)

    勿在流沙筑高台,出来混迟早要还的. 做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开! 本文导图: 一.由一个提问引发的思考 在Stack Overflow 看到这样一个问题 ...

  10. sql between 效率高吗_整个SQL语句的执行效率都靠它了...

    作者:韩锋 优化器是数据库最核心的功能,也是最复杂的一部分.它负责将用户提交的SQL语句根据各种判断标准,制定出最优的执行计划,并交由执行器来最终执行.优化器算法的好坏.能力的强弱,直接决定了语句的执 ...

最新文章

  1. opencvmediapipe 人脸检测+摄像头实时
  2. SQL alter 的几种用法
  3. ASP.NET中JSON的序列化和反序列化
  4. Ukiyo-e faces dataset 浮世绘面孔数据集
  5. Flask之flask-session
  6. java语言的未来将去向何方?
  7. 华为官方开启Mate 40系列预热:即将推出敬请期待
  8. ViewPager使用讲解
  9. java excel模板中列表_java中自定义excel模板并且填充内容
  10. Java导出导入Excel方法
  11. Linux VS code安装Monaco字体
  12. STM32H743 驱动 W25Q256
  13. 新浪微博下载完整相册
  14. authorization cache cannot be obtained
  15. 笔记本win10 64位 1050Ti显卡 安装Anaconda3.4.2.0 (python3.5版)+tensorflow gpu版
  16. 实验一 验证删除快照时VMware会改变父快照或基础磁盘
  17. 努比亚android最高版本,努比亚Z11安卓7.1固件开发版下载地址:新增压力按键等功能...
  18. 商品3D建模的视觉定位和前景分割方法
  19. PMP计算(带例题)
  20. [附源码]Java计算机毕业设计SSM超市会员积分管理系统

热门文章

  1. 科大讯飞语音转写以及语音合成配置+遇到问题处理
  2. 青囊如可授 从此访鸿蒙的意思,《坛滴槐花露,香飘柏子风。》
  3. 微型计算机偏移地址,请高手讲解一下在微机原理里面,偏移地址,段地址,实体地址之间的关系!配合图解更好,谢谢!...
  4. python性能测试框架_python性能测试框架locust(一)
  5. 以太网电缆行业调研报告 - 市场现状分析与发展前景预测
  6. 扫描机一直显示连接服务器,扫描仪通过SMTP中继服务器发送通知邮件失败
  7. java 找不到符号
  8. Flink 极简教程: 架构及原理 Apache Flink® — Stateful Computations over Data Streams
  9. excel表格内怎么换行的教程
  10. 高级会计职称计算机考什么,高级会计师考试要考哪些科目