这是一个在开发中经常遇见的一个问题
传值:把实参的值赋值给形参,所以对形参的修改不会影响实参的值。就是单纯的将值赋值给形参。
传引用:是以地址的方式传递参数,传递以后,形参和实参都是同一个对象,只是名字不同,因为都指向的是一个地址,但对形参的修改会影响实参的值。
说明:
- 传值:打个比方,我有一橦房子,我给你建筑材料,你建了一个根我的房子一模一样的房子,你在你的房子做什么事都不会影响到我,我在我的房子里做什么事也不会影响到你,彼此独立。
- 传引用:C语言的指针。打个比方,我有一橦房子,我给你一把钥匙,我们二个都可以进入这个房子,你在房子做什么都会影响到我。
1,传值
- <?php
- $param1=1; //定义变量1
- $param2=2; //定义变量2
- $param2 = $param1; //变量1赋值给变量2
- echo $param2; //显示为1
- ?>
2,传引用
- <?php
- $param2=1; //定义变量2
- $param1 = &$param2; //将变量2的引用传给变量1
- echo $param2; //显示为1
- $param1 = 2; //把2赋值给变量1
- echo $param2; //显示为2
- ?>