php中传值与传引用的区别?

转载 2018年04月16日 09:33:40
php传值:在函数范围内,改变变量值得大小,都不不会影响到函数外边的变量值。
PHP按引用
:在函数范围内,对值的任何改变,在函数外部也有所体现,因为传引用传的是内存地址。


大牛的解释:

传值:和copy是一样的。【打个比方,我有一橦房子,我给你建筑材料,你建了一个根我的房子一模一样的房子,你在你的房子做什么事都不会影响到我,我在我的房子里做什么事也不会影响到你,彼此独立。

  1. <?php      
  2. $testa=1;               //定义变量a   
  3. $testb=2;               //定义变量b      
  4. $testb = $testa;       //变量a赋值给变量b      
  5. echo $testb;            //显示为1      
  6. ?>   

传引用类似于C语言的指针了,感觉差不多。打个比方,我有一橦房子,我给你一把钥匙,我们二个都可以进入这个房子,你在房子做什么都会影响到我。

  1. <?php      
  2. $param2=1;               //定义变量2      
  3. $param1 = &$param2;      //将变量2的引用传给变量1      
  4. echo $param2;            //显示为1      
  5. $param1 = 2;             //把2赋值给变量1      
  6. echo $param2;            //显示为2      
  7. ?>     

【优缺点:】传值会很耗时间,特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作,传送引用,函数内的任何操作等同于对传送变量的操作,传送大型变量时效率高!


转载请注明出处 https://blog.csdn.net/qq_28194557/article/details/70543753

百度webuploader上传文件组件案例分析和使用-web网站开发3

会员免费看,http://edu.csdn.net/lecturer/842 右侧可办理会员卡。百度webuploader上传文件组件案例分析和使用是子恒老师《web网站开发》视频教程的第3部。详细讲解了用php结合百度webuploader的开发。内容包含webuploader脚本分析,过滤文件类型,多线程上传,分片上传文件等等。欢迎反馈,微信号:QQ68183131
  • 2017年04月07日 15:39

在PHP中传值与传引用的区别

这是一个在开发中经常遇见的一个问题,所以很有必要对其深刻理解 传值:把实参的值赋值给形参,所以对形参的修改不会影响实参的值。就是单纯的将值赋值给形参。 传引用:是以地址的方式传递参数,传递以后,形...
  • junweihere
  • junweihere
  • 2017-03-23 11:40:05
  • 404

php 中传值与传引用的区别。什么时候传值什么时候传引 用?

变量默认总是传值赋值。那也就是说,当将一个表达式的值赋予一个变量时,整个原始表达式的值被赋值到目标变量。这意味着,例如,当一个变量的值赋予另外一个变量时,改变其中一个变量的值,将不会影响到另外一个变量...
  • lihui930310560
  • lihui930310560
  • 2016-11-20 20:54:47
  • 427

php中传值与传引用的区别?

传值:函数内对传送变量修改不影响被传变量的值(用传送值对函数的内的变量重新赋值) 引用:传送变量的引用,函数内的任何操作等同于对传送变量的操作,传送大型变量时效率高!...
  • pingjunzhi
  • pingjunzhi
  • 2017-02-10 22:59:54
  • 533

PHP中传值与传引用的区别

传值的话,如果是非对象,会传一个值的拷贝,对这个变量做任何改动都不影响原值。 传引用或者传对象,是传真实的内存地址,对这个变量做的改动会影响原值。 function func1($a) { $a...
  • xiaogangshagua
  • xiaogangshagua
  • 2014-03-31 21:59:53
  • 967

Java中传值与传递引用的区分

基本类型传的是值,例如:int,float,double,char,不包括 java.lang.String 对象实例,接口实例传的是引用,包括java.lang.String。但是我们在通过一个...
  • zkp0601
  • zkp0601
  • 2015-10-30 17:29:52
  • 1044

java 中传值 * 传引用

(一)基本数据类型:传值,方法不会改变实参的值。 package com.jhl; public class TestFun { public static void testInt(int i...
  • jihuanliang
  • jihuanliang
  • 2012-07-08 23:17:46
  • 1562

java中传值与传引用

  • 2011年12月14日 22:33
  • 16KB
  • 下载

C++-传值与传引用的区别

//值传递与引用传递的区别 #include #include using namespace std; void fiddle(int in1, int &in2) { in1 = in1...
  • panshang1994
  • panshang1994
  • 2014-10-15 15:26:54
  • 1164

C# 值传递与引用传递的区别

一、传递值类型参数 1、通过值传递值类型 当实参当作值来传递时,就产生的一个副本,也就是值不发生变化。 class MyTest { static v...
  • hlx20080808
  • hlx20080808
  • 2015-12-22 11:54:02
  • 503
收藏助手
不良信息举报
您举报文章:php中传值与传引用的区别?
举报原因:
原因补充:

(最多只允许输入30个字)