加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 钦州站长网 (https://www.0777zz.com/)- 智能办公、应用安全、终端安全、数据可视化、人体识别!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php 传值与传引用的区别详细介绍

发布时间:2023-11-07 11:01:44 所属栏目:PHP教程 来源:互联网
导读:   传值:



  函数参数压栈的是参数的副本。



  任何的修改是在副本上作用,没有作用在原来的变量上。



  传引用:



  压栈的是引用的副本。由于引用是
  传值:  
 
  函数参数压栈的是参数的副本。  
 
  任何的修改是在副本上作用,没有作用在原来的变量上。  
 
  传引用:
 
  压栈的是引用的副本。由于引用是指向某个变量的,对引用的操作其实就是对他指向的变量的操作。(作用和传指针一样,只是引用少了解指针的草纸)
 
  例子
 
   代码如下
 
  1 function func1($a) { $a = $a + 1;}
 
  function func2(&$a) { $a = $a + 1;}
 
   $sample = 1;
 
  func1($sample);
 
   echo $sample; // 输出 1
 
   $sample = 1;
 
  func2($sample);
 
   echo $sample; // 输出 2
 
  例子
 
   代码如下
 
  1
 
 
  $num1 = 15;
 
  $num2 = &$num1;
 
  $num2 = 20;
 
  echo $num1;//输出20
 
  ?>
 
  再比如:
 
   代码如下
 
  1
 
  function func1($a) {
 
    $a = $a + 1;
 
  }
 
  function func2(&$a) {
 
    $a = $a + 1;
 
  }
 
  $sample = 1;
 
  func1($sample);
 
  echo $sample; // 输出 1  
 
  $sample = 1;
 
  func2($sample);
 
  echo $sample; // 输出 2
 
  总结一下
 
  传值的话,如果是非对象,会传一个值的拷贝,对这个变量做任何改动都不影响原值。传引用或者传对象,是传真实的内存地址,对这个变量做的改动会影响原值。
 
 

(编辑:PHP编程网 - 钦州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章