PHP中引用的使用

NSFC结题报告下载脚本失效?3步教你手动修复下载按钮问题(2024最新版) 针对NSFC官网域名变更导致结题报告下载脚本失效的问题,本文提供了详细的手动修复指南。通过三步操作,教你如何修改用户脚本的域名匹配规则,恢复下载按钮功能,确保NSFC结题报告下载器能继续高效工作。 阅读详情
PHP 的引用允许你用两个变量来指向同一个内容 

<? 
$a="ABC"; 
$b =&$a; 
echo $a;//这里输出:ABC 
echo $b;//这里输出:ABC 
$b="EFG"; 
echo $a;//这里$a的值变为EFG 所以输出EFG 
echo $b;//这里输出EFG 
?> 

函数的传址调用 
传址调用我就不多说了 下面直接给出代码 

function test(&$a) 
{ 
$a=$a+100; 
} 
$b=1; 
echo $b;//输出1 
test($b); //这里$b传递给函数的其实是$b的变量内容所处的内存地址,通过在函数里改变$a的值 就可以改变$b的值了 
echo "<br>"; 
echo $b;//输出101 

要注意的是,在这里test(1);的话就会出错,原因自己去想 

函数的引用返回 
先看代码 

function &test() 
{ 
static $b=0;//申明一个静态变量 
$b=$b+1; 
echo $b; 
return $b; 
} 

$a=test();//这条语句会输出 $b的值 为1 
$a=5; 
$a=test();//这条语句会输出 $b的值 为2 

$a=&test();//这条语句会输出 $b的值 为3 
$a=5; 
$a=test();//这条语句会输出 $b的值 为6 

下面解释下:  
通过这种方式$a=test();得到的其实不是函数的引用返回,这跟普通的函数调用没有区别 至于原因: 这是PHP的规定 
PHP规定通过$a=&test(); 方式得到的才是函数的引用返回 
至于什么是引用返回呢(PHP手册上说:引用返回用在当想用函数找到引用应该被绑定在哪一个变量上面时。) 这句狗屁话 害我半天没看懂 

用上面的例子来解释就是 
$a=test()方式调用函数,只是将函数的值赋给$a而已, 而$a做任何改变 都不会影响到函数中的$b 
而通过$a=&test()方式调用函数呢, 他的作用是 将return $b中的 $b变量的内存地址与$a变量的内存地址 指向了同一个地方 
即产生了相当于这样的效果($a=&b;) 所以改变$a的值 也同时改变了$b的值 所以在执行了 
$a=&test(); 
$a=5; 
以后,$b的值变为了5 

这里是为了让大家理解函数的引用返回才使用静态变量的,其实函数的引用返回多用在对象中 

对象的引用 

<? 
class a{ 
var $abc="ABC"; 
} 
$b=new a; 
$c=$b; 
echo $b->abc;//这里输出ABC 
echo $c->abc;//这里输出ABC 
$b->abc="DEF"; 
echo $c->abc;//这里输出DEF 
?> 

以上代码是在PHP5中的运行效果 
在PHP5中 对象的复制 是通过引用来实现的。上列中$b=new a; $c=$b; 其实等效于$b=new a; $c=&$b; 
PHP5中默认就是通过引用来调用对象, 但有时你可能想建立一个对象的副本,并希望原来的对象的改变不影响到副本 . 为了这样的目的,PHP定义了一个特殊的方法,称为__clone. 

引用的作用 
如果程序比较大,引用同一个对象的变量比较多,并且希望用完该对象后手工清除它,个人建议用 "&" 方式,然后用$var=null的方式清除. 其它时候还是用php5的默认方式吧. 另外, php5中对于大数组的传递,建议用 "&" 方式, 毕竟节省内存空间使用。 

取消引用 
当你 unset 一个引用,只是断开了变量名和变量内容之间的绑定。这并不意味着变量内容被销毁了。例如:

<?php 
$a = 1; 
$b =& $a; 
unset ($a); 
?> 

不会 unset $b,只是 $a。 

global 引用 
当用 global $var 声明一个变量时实际上建立了一个到全局变量的引用。也就是说和这样做是相同的: 

<?php 
$var =& $GLOBALS["var"]; 
?> 

这意味着,例如,unset $var 不会 unset 全局变量。 

$this 
在一个对象的方法中,$this 永远是调用它的对象的引用。 

//下面再来个小插曲 
php中对于地址的指向(类似指针)功能不是由用户自己来实现的,是由Zend核心实现的,php中引用采用的是“写时拷贝”的原理,就是除非发生写操作,指向同一个地址的变量或者对象是不会被拷贝的。 

通俗的讲 
1:如果有下面的代码 

$a="ABC"; 
$b=$a; 

其实此时 $a与$b都是指向同一内存地址 而并不是$a与$b占用不同的内存 

2:如果在上面的代码基础上再加上如下代码 

$a="EFG"; 

由于$a与$b所指向的内存的数据要重新写一次了,此时Zend核心会自动判断 自动为$b生产一个$a的数据拷贝,重新申请一块内存进行存储。
【2.12】基于FPGA的Gardner环开发5——闭环反馈,获得完整gardner环 本文介绍了Gardner定时恢复算法在FPGA上的实现过程。首先回顾MATLAB程序中Gardner环的闭环反馈机制,重点分析了环路滤波器输出变量w的处理流程。随后详细阐述了FPGA实现的Verilog设计步骤,包括三个核心模块:1)y_temp=q0-w计算模块,实现反馈变量处理;2)uk=2*q0计算模块,生成插值系数;3)插值计算模块,根据使能信号执行线性插值运算。设计通过引入使能信号控制插值更新时机,采用定点数运算处理数据,并包含负数保护机制确保计算稳定性。文章提供了完整的Verilog代码实现,展 阅读详情

相关推荐

TI C2000 DSP CLA实战:用F28069的协处理器实现ADC采样与PWM相位实时联动控制

本文详细介绍了如何利用TI C2000系列DSP的CLA协处理器在TMS320F28069上实现ADC采样与PWM相位的实时联动控制。通过CLA的零周期上下文切换和硬件级任务触发特性,显著提升了电机控制和数字电源应用的实时性能,特别适用于需要亚微秒级响应的场景。

weixin_30932215的博客 3967

为什么用php,PHP为什么用引用

PHP为什么用引用什么是引用?在 PHP 中引用意味着用不同的名字访问同一个变量内容。这并不像 C 的指针,替代的是,引用是符号表别名。注意在 PHP 中,变量名和变量内容是不一样的,因此同样的内容可以有不同的名字。最接近的比喻是 Unix 的文件名和文件本身——变量名是目录条目,而变量内容则是文件本身。引用可以被看作是 Unix 文件系统中的 hardlink。1.变量的引用a="ABC";a=...

weixin_32734545的博客 166

基于Ansys Fluent 的颗粒分离/过滤解决方案

过滤是指通过特殊装置将颗粒移除,将流体提纯净化的过程。过滤的方式很多,应用的物系也很广泛,固-液、固-气、大颗粒-小颗粒等。

sh_djoin的博客 1852

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 c...

weixin_39641463的博客 235

STM32CubeMX HAL实战:JY901S串口数据解析与姿态解算

本文详细介绍了如何使用STM32CubeMX HAL库实现JY901S六轴姿态传感器的串口数据解析与姿态解算。从基础硬件连接到USART3配置,再到数据接收状态机实现和传感器校准方法,最后深入讲解互补滤波与Mahony滤波算法在姿态解算中的应用。通过实战代码演示,帮助开发者快速掌握无人机、机器人等项目中关键姿态数据处理技术。

weixin_28703489的博客 432

基于STM32设计的便携式心电信号监测系统_474

本课题设计并实现了一种基于STM32单片机的便携式心电信号监测系统。系统以STM32F103C8T6为核心控制单元,结合PulseSensor心率传感器,实现对人体心率信号的采集与处理。通过单片机内部ADC模块对传感器输出的模拟电压信号进行采样,并对采集数据进行分析处理,从而计算得到实时心率值。

159

php引用是什么,php引用是什么

php引用的意思在PHP 中引用的意思是:不同的名字访问同一个变量内容。与C语言中的指针是有差别的.C语言中的指针里面存储的是变量的内容,在内存中存放的地址。1、变量的引用PHP 的引用允许你用两个变量来指向同一个内容...

weixin_39770506的博客 242

QGis二次开发 —— 5.2、基于qgis搭建离线地图服务并开发雷达扫描、无人机飞行跟踪等(附:源码及工程)

QGis二次开发 —— 5.2、基于qgis搭建离线地图服务并开发雷达扫描、无人机飞行跟踪等(附:源码及工程)

221

php同级引用,PHP引用(&)

引用是什么在 PHP 中引用意味着用不同的名字访问同一个变量内容。这并不像 C 的指针:例如你不能对他们做指针运算,他们并不是实际的内存地址。替代的是,引用是符号表别名。注意在PHP 中,变量名和变量内容是不一样的, 因此同样的内容可以有不同的名字。引用做什么PHP 的引用允许用两个变量来指向同一个内容。意思是,当这样做时:1 ...

weixin_28831461的博客 237

大数据利器Hadoop:从基础到实战,一篇文章掌握大数据处理精髓!

在当今大数据时代,数据量的爆炸式增长对企业和技术提出了前所未有的挑战。如何高效地存储、处理和分析这些庞大的数据集,成为了亟待解决的问题。Hadoop作为一种分布式计算框架,应运而生,为大数据处理提供了有效的解决方案。Hadoop是一个由Apache软件基金会维护的开源项目,它基于Google的分布式文件系统(Google File System,GFS)和MapReduce计算模型设计。Hadoop的主要目标是处理大规模数据集,它可以在普通硬件集群上运行,从而降低了大数据处理的成本。

邓邓子的博客 8277

YOLO26涨点改进 | YOLO联合Mamba火热发论文改进篇 | CVPR 2025 | 引入EfficientViM 新型轻量级视觉Mamba,高效捕捉全局依赖,含二次创新、适合目标检测任务

本文提出EfficientViM,一种基于HSM-SSD的新型轻量级视觉Mamba架构,用于改进YOLO26目标检测模型。该模块通过压缩隐藏状态、多阶段特征融合和内存优化设计,在降低计算复杂度的同时提升检测精度。实验表明,EfficientViM在ImageNet-1K上实现了最佳的速度-精度平衡,相比SHViT模型性能提升0.7%且速度更快。文章详细介绍了模块原理、网络结构、核心代码实现及YOLO26集成方法,提供两种改进方案,适用于资源受限环境下的实时目标检测任务。

Ai缝合怪、助力小伙伴高效发论文 176

php 释放引用,关于php的引用

前言

weixin_29838911的博客 174

【华为OD机试真题】459、小扇和小船的数字游戏、数字游戏 | 机试真题+思路参考+代码解析(CD卷)(C++、Java、Py)

### 🎃题目描述 >小扇和小船今天又玩起来了数字游戏,小船给小扇一个正整数 n(1  现在求 m 的最小值

KJ.JK 1718

php 引用& 变量引用、函数引用、对象引用

PHP 引用 变量引用 函数引用 对象引用

xkdlzy的专栏 4万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

php 不使用引用返回,php 引用传递、引用返回和取消引用 使用教程

在PHP中引用意味着用不同的名字访问同一个变量内容。这并不像C的指针,替代的是引用是符号表别名。注意在PHP中,变量名和变量内容是不一样的,因此同样的内容可以有不同的名字。1、引用传递functionfoo(&$var){$var++;}foo($a);//注意在函数调用时没有引用符号-只有函数定义中有。光是函数定义就足够使参数通过引用来正确传递了2、引用返...

weixin_34554800的博客 231

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

php foreach引用,php foreach使用引用的陷阱

最近工作中在foreach中使用引用的时候出现一个怪现象,使用2次foreach的时候数组值发生了改变,代码示例如下我的预期结果是1,2,3 但是实际结果输出1,2,2奇怪了,遍历数组难道还会改变数组的值么,猜测原因肯定出现在&row这个引用上。在第2个循环里打印$arrArray([0] => 1[1] => 2[2] => 1)Array([0] => 1[1]...

weixin_39955700的博客 295

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

php引用解释,有关PHP引用的解释

1,PHP引用的特性首先,PHP中的引用不是C的指针,可以把它想象成UNIX文件系统中对文件的链接,是变量的另外一个别名或者映射。例如:$b = &$a中,$b和$a都只是一个变量名称,此操作使$b和$a都映射到同一个变量内容;$a 和 $b 在这里是完全相同的,这并不是 $a 指向了 $b 或者相反,而是 $a 和 $b 指向了同一个地方。$b = &$c则是让$b重新映射到另外...

weixin_32110907的博客 202

php中比较引用,PHP变量引用与非引用性能比较

本文主要和大家分享PHP变量引用与非引用性能比较,希望能帮助到大家。

weixin_36447301的博客 208

php的引用返回和取消引用

一、引用返回 引用返回用在当想用函数找到引用应该被绑定在哪一个变量上面时。不要用返回引用来增加性能,引擎足够聪明来自己进行优化。仅在有合理的技术原因时才返回引用!要返回引用,使用此语法: <?php class foo { public $value = 42; public function &getValue() { return $this->val

andyliu的专栏 1446

php手册 引用,PHP5中的引用

以前对于PHP中的引用一直觉得很神秘,与C#里面的不一样,但平时使用的时候这方面用的比较少,或者说很难接触到,所以对PHP里面的引用的理解一直是浅尝辙止,没怎么深入的去研究,正因为如此也一直存在着一种敬而远之的感觉.今天在写一段PHP脚本的时候发现了一个关以前对于PHP中的引用一直觉得很神秘,与C#里面的不一样,但平时使用的时候这方面用的比较少,或者说很难接触到,所以对PHP里面的引用的理解一直是...

weixin_39768645的博客 94

PHP引用

概念:在PHP中引用意味着用不同的名字访问同一个变量内容; 定义方式:PHP使用 ‘&’定义引用变量; 当不使用引用时,变量采取写时复制机制机制(COW):在写入时会复制一份内存进行修改,例如 //定义一个变量 $a = range(0,1000); var_dump(memory_get_usage()); //打印内存使用量 //定义一个变量b $b = $a; //此时$b和$a 指向同一个内存空间 var_dump(memory_get_usage()); //当a或b发生写入时,才

hudeyong926的专栏 663

php中引用,php 中引用的应用

// http://blog.youkuaiyun.com/samxx8/article/details/37564103/**在PHP 中引用的意思是:不同的名字访问同一个变量内容.(1) 变量之间的引用:$a = 10 ; $b =$a ; // 此时$b和$a所指向的是同一存储地址 ,如果$a = 11 ; 则zend会开辟一个新的单元从来是的$a = 11 ; $b 还是原来的地址$a = 10 ;...

weixin_33345697的博客 86

php中引用&的真正理解-变量引用、函数引用、对象引用

php的引用(就是在变量或者函数、对象等前面加上&符号) //最重要就是 删除引用的变量 ,只是引用的变量访问不了,但是内容并没有销毁 在PHP 中引用的意思是:不同的名字访问同一个变量内容. 变量的引用         PHP 的引用允许你用两个变量来指向同一个内容  <?php $a="ABC"; $b =&$a; echo $a;//这里输出:ABC echo $b;//这里输出

grace_fang的博客 937

php引用&用法,PHP引用(&)使用详解,php引用

PHP引用(&)使用详解,php引用初学php关于&引用官方文档:1.引用是什么:http://www.php.net/manual/zh/language.references.whatare.php2.引用做什么:http://www.php.net/manual/zh/language.references.whatdo.php3.引用传递:http://www.php.ne...

weixin_39588432的博客 373

php引用

<?php function add_some_extra(&$string) // 引入变量,使用同一个存储地址 { $string .= 'and something extra.'; } $str = 'This is a string, '; add_some_extra($str); echo $str; // outputs 'This i...

weixin_33747129的博客 164

如何正确使用PHP -- 引用

什么是PHP引用 角色: 姓名:王笨笨 爱称:狗蛋儿 自我介绍:大家好,我是王笨笨,很高兴认识大家,大家可以叫我狗蛋儿。我就是我,不一样的烟火。 生涩的概念:引用就是别名,多个名字指向同一个变量内容,没有重复冗余的内存开销。 $a = 'runBaby'; $...

奔跑吧笨笨的博客 559
上一篇: 常用linux命令
下一篇: mysql命令行备份与导入
aFightCoder
博客等级 码龄16年 0粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值