加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php 传值与传引用的比较大一个区别详解

发布时间:2023-06-03 14:25:12 所属栏目:PHP教程 来源:
导读:在php中传值与传引用对于我们来讲是有比较大的区别的一个引用可以调用内存地址赋值了,这样只要内存地址中内容变化而赋值的变量也就变化了,付值只是把内存中值给其它变量而己.

传值:

函数参数压栈的是参数的副本
在php中传值与传引用对于我们来讲是有比较大的区别的一个引用可以调用内存地址赋值了,这样只要内存地址中内容变化而赋值的变量也就变化了,付值只是把内存中值给其它变量而己.

传值:

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

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

传引用:

压栈的是引用的副本,由于引用是指向某个变量的,对引用的操作其实就是对他指向的变量的操作,(作用和传指针一样,只是引用少了解指针的草纸)

例子代码如下:

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 
$num1 = 15; 
$num2 = &$num1; 
$num2 = 20; 
echo $num1;//输出20 
?> 
//再比如如下代码: 
<?php 
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 
?> 

(编辑:汽车网)

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

    推荐文章