php 什么时候传引用,什么时候在PHP中使用传递引用?

以下内容不适用于对象,因为这里已经说明了。如果计划修改传递的值,则通过引用传递数组和标量值将只会节省内存,因为PHP使用了更改时复制(copy-on-change)策略。例如:

# $array will not be copied, because it is not modified.

function foo($array) {

echo $array[0];

}

# $array will be copied, because it is modified.

function bar($array) {

$array[0] += 1;

echo $array[0] + $array[1];

}

# This is how bar shoudl've been implemented in the first place.

function baz($array) {

$temp = $array[0] + 1;

echo $temp + $array[1];

}

# This would also work (passing the array by reference), but has a serious

#side-effect which you may not want, but $array is not copied here.

function foobar(&$array) {

$array[0] += 1;

echo $array[0] + $array[1];

}

总结:

>如果你在一个非常大的数组上工作,并计划在一个函数内修改它,你实际应该使用一个引用,以防止它被复制,这可能严重降低性能,甚至耗尽你的内存限制。>如果它是可以避免的(那是小数组或标量值),我总是使用没有副作用的函数式方法,因为只要你通过引用传递的东西,你永远不能确定传递的变量保持函数调用后,有时可能导致讨厌和难以找到的错误。> IMHO标量值不应该通过引用传递,因为性能影响不能太大,以至于证明代码中透明度的损失。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/512049.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iOS App 启动优化

简介: 作为程序猿来说,“性能优化”是我们都很熟悉的词,也是我们需要不断努⼒以及持续进⾏的事情;其实优化是⼀个很⼤的课题,因为细分来说的话有⼤⼤⼩⼩⼗⼏种优化⽅向 ,但是切忌在实际开发过程中不能盲⽬…

apache1.3 php编译,安装Apache1.3.29 - Linux+Apache+Mysql+PHP典型配置详解_Linux教程_Linux公社-Linux系统门户网站...

2.安装Apache1.3.29。我没有选择安装Apache2.0是我对他还是不放心,因为网上最新公布的apache的漏洞基本上是针对2.0,当然大家可以自己选择安装相应的版本。我这里讲的都是采用DSO动态编译的方法编译Apache.至于有关apache的编译方法,可以参考…

前后端、多语言、跨云部署,全链路追踪到底有多难?

简介: 完整的全链路追踪可以为业务带来三大核心价值:端到端问题诊断,系统间依赖梳理,自定义标记透传。 作者 | 涯海 全链路追踪的价值 链路追踪的价值在于“关联”,终端用户、后端应用、云端组件(数据库…

供应商太多,怎么才能高效比价?

本篇文章暨 CSDN《中国 101 计划》系列数字化转型场景之一。 《中国 101 计划——探索企业数字化发展新生态》为 CSDN 联合《新程序员》、GitCode.net 开源代码仓共同策划推出的系列活动,寻访一百零一个数字化转型场景,聚合呈现并开通评选通道&#xff0…

7张图揭晓RocketMQ存储设计的精髓

简介: RocketMQ 作为一款基于磁盘存储的中间件,具有无限积压能力,并提供高吞吐、低延迟的服务能力,其最核心的部分必然是它优雅的存储设计。 存储概述 RocketMQ 存储的文件主要包括 Commitlog 文件、ConsumeQueue 文件、Index 文…

apache php隐藏头信息的方法,apache、php隐藏http头部版本信息的实现方法

1、apache隐藏头部版本信息,编辑httpd.conf文件,找到:ServerTokens OSServerSignature On修改为:ServerTokens ProductOnlyServerSignature Off2、上面的方法是默认情况下安装的Apache,如果是编译安装的,还…

庖丁解InnoDB之UNDO LOG

简介: Undo Log是InnoDB十分重要的组成部分,它的作用横贯InnoDB中两个最主要的部分,并发控制(Concurrency Control)和故障恢复(Crash Recovery),InnoDB中Undo Log的实现亦日志亦数据…

Ampere Altra Max 对比测试数据公布,性能能效双领先

在云计算领域,发展创新的脚步永不停歇。十多年前,伴随着虚拟化及高速网络的发展和成熟,云计算应运而生。在将工作负载迁移到云端的过程中,为了更好地适应云环境,软件架构得以重建,就如同搬进新家时&#xf…

钉钉宜搭入选Forrester《中国低代码平台市场分析报告》

简介: 🎉 最新:钉钉宜搭入选Forrester《中国低代码平台市场分析报告》! 11月12日,全球知名研究机构Forrester发布《中国低代码平台市场分析报告(The State Of Low-Code Platforms In China)》&…

linux wheel用户组,Linux的用户和组之详解用户和组的分类

PS:此处的用户全是指普通用户,即登录用户。组和用户的关系Linux系统以组Group方式管理用户,用户和组的对应关系为多对多,即某个用户可加入/属于一个或多个组,某个组可以有0个、1个或多个用户。组的分类从用户的角度&am…

被自己的行为蠢哭了,意识到原因后真香!

作者 | 零一来源 | 前端印象这两天在学习 node 相关的知识时,做出了一些错误的行为~在做用户登录相关业务时涉及到了 cookie、session 的存取,一搜就找到了 express-session 这个中间件,真香!配几个配置就可以自动生成 cookie、se…

一种命令行解析的新思路(Go 语言描述)

简介: 本文通过打破大家对命令行的固有印象,对命令行的概念解构后重新梳理,开发出一种功能强大但使用极为简单的命令行解析方法。这种方法支持任意多的子命令,支持可选和必选参数,对可选参数可提供默认值,支…

云原生 DevOps,模型化应用交付能力很重要

简介: DevOps 文化及其支撑其落地实践的自动化工具与平台能力在云原生架构渐为普及的背后,发挥了关键的价值。 撰稿:溪洋 云原生正在成为企业业务创新和解决规模化挑战的加速器。 云原生带来的变革绝不限于基础设施和应用架构等技术层面&a…

linux内核关掉模块,强制关闭你的系统的内核模块 | Linux 中国

我知道熬夜对健康不利。但谁在乎?多年来我一直是一只夜猫子。我通常在 12 点以后睡觉,有时在凌晨 1 点以后睡觉。第二天早上,我至少推迟三次闹钟,醒来后又累又有脾气。每天,我向自己保证早点睡觉,但最终会像…

如何在 Kubernetes Pod 内进行网络抓包

作者 | Addo Zhang来源 | 云原生指北使用 Kubernetes 时,经常会遇到一些棘手的网络问题需要对 Pod 内的流量进行抓包分析。然而所使用的镜像一般不会带有 tcpdump 命令,过去常用的做法简单直接暴力:登录到节点所在节点,使用 root …

EDAS 4.0 助力企业一站式实现微服务架构转型与 K8s 容器化升级

简介: EDAS 正式来到 4.0 时代,发布多项重磅新能力;同时联合新产品—云原生应用设计开发平台 ADD 1.0,一起发布云原生应用研发&运维 PaaS 产品家族,助力企业应用架构现代化升级。 作者:安绍飞 前言 …

如何用20分钟就能获得同款企业级全链路灰度能力?

简介: MSE 微服务引擎将推出服务治理专业版,提供开箱即用且完整专业的微服务治理解决方案,帮助企业更好地实现微服务治理能力。如果您的系统也可以像本文描述的那样,快速具备完整的全链路灰度能力,并基于该能力进行进一…

Linux打开bashrc权限不够,bash-4.2$ bash: /home/test/.bashrc: 权限不够

ahjesus web动态icon刚刚逛插件无意间发现的,记录下,里面有demo可以直接run了看效果 http://nicolasbize.com/faviconx/ http://www.miaofree.com/通俗理解T检验和F检验来源: http://blog.sina.com.cn/s/blog_4ee13c2c01016div.html 1,T检验和F检验的由来 一般而言,为了确定从…

云桌面场景化升级新作,锐捷网络发布全新远程办公“U空间”

编辑 | 宋慧 出品 | CSDN云计算 远程办公真的来了。 在硅谷的科技公司远程办公常态化之后,国内的科技大厂也在跟进中,如携程正式宣布的32混合办公模式。根据iiMedia Research艾媒咨询数据显示,在2020年新春期间,中国远程办公人员…

细说双 11 直播背后的压测保障技术

简介: 阿里云 PTS 站在双 11 巨人的肩膀上,是阿里全链路压测的延伸。PTS 通过伸缩弹性,轻松发起用户百万级别的流量,免去机器、人力成本;PTS 对流量的控制,能够实时脉冲,精准控制; 是…