对于值传递和引用传递,书本上的解释比较繁琐,而php面试中总会出现,下面我会通过一个生活的例子带大家理解它们之间区别。

第一步

假设我们去酒店订房间,我们把酒店的门牌号比作变量名,我们把房间里住人数当做给这个变量名赋值的过程

$k1=2;//$k1号房间住了2个人

$k2=$k1;//恰巧今天$k1号房间维修,把$k1号房间的人放到$k2房间里面

$k1=10;//假设$k1维修好了,又住进10个人,那么这就是值传递。

echo "$k1号房间:".$k1."个人";//10

echo "$k2号房间:".$k2."个人";//1

?>

值传递的特点:

1、值相等

也就是$k1给$k2房间里的人是相等的。

2、相互独立、互不影响

这就是说,我$k1房间来多少客人和$k2房间客人来多少客人是互相不影响的。这就叫:"道不同不相为谋"。

第二步

以上面为例 假设我们$k1这个房间被维修工挂上两个门牌号$k1和$k2来理解

$k1=2;//$k1号房间住了2个人

$k2=&$k1;//恰巧今天$k1号房间挂上"$k1"和“$k2”两个门牌号

$k1=10;//假设$k1又住进10个人,那么这就是引用传递。

echo "$k1号房间:".$k1."个人";//10

echo "$k2号房间:".$k2."个人";//10因为门牌$k1房间的客人就是门牌$k2里面的客人

?>

引用传递的特点:

相互影响,也就是说$k1中来多少客人,$k2就是显示多少客人,这就叫"拴在一条绳上的蚂蚱"。

区别

1、使用上的区别

值传递的符号是=

引用传递符号是&

2、意义上的区别

值传递是变量传递是互不影响的,而引用传递则是两个变量指向同一空间相互影响的。

推荐教程:PHP视频教程

php提交道不同,【后端开发】php引用和拷贝的区别相关推荐

  1. 拷贝和引用有什么区别php,php引用和拷贝的区别知识点总结

    php引用和拷贝的区别知识点总结,号房,客人,门牌号,房间,区别 php引用和拷贝的区别知识点总结 易采站长站,站长之家为您整理了php引用和拷贝的区别知识点总结的相关内容. 对于值传递和引用传递,书 ...

  2. Java后端开发 — Forest、Feign、Retrofit区别

    1. Forest和Feign的区别? Feign和Forest都是基于注解的声明式HTTP框架,但封装程度和api接口风格不太相同 比如:Feign没有封装SSL证书验证.连接池.正向代理等功能,需 ...

  3. php引用复制,php引用和拷贝的区别

    对于值传递和引用传递,书本上的解释比较繁琐,而php面试中总会出现,下面我会通过一个生活的例子带大家理解它们之间区别. 第一步 假设我们去酒店订房间,我们把酒店的门牌号比作变量名,我们把房间里住人数当 ...

  4. python内置的集成开发工具是什么_python内置的集成开发工具是什么_后端开发

    go语言之goroute协程_后端开发 协程(coroutine)是Go语言中的轻量级线程实现,由Go运行时(runtime)管理.下面就来由go入门教程栏目介绍一下go语言中的goroute协程. ...

  5. php去除img,PHP如何去除IMG标签?_后端开发

    go语言中一些字符串操作介绍_后端开发 Go语言中字符串的字节使用UTF-8编码表示Unicode文本,因此Go语言字符串是变宽字符序列,本文就来为大家介绍一些go语言中字符串的操作. PHP如何去除 ...

  6. 相对于就业来讲,前端工程师和后端开发哪个比较好?

    在开始这个问题前,先说一下前端和后端两者之间都是干什么的?有哪些区别?通俗地讲,前端干的工作是用户可以直接看得见的,而后端开发的工作主要在服务端,用户不太能直接看到.虽然前端开发和后端开发的工作有巨大 ...

  7. IT前端开发和后端开发

    前端开发和后端开发都是干什么的?有哪些区别?通俗地讲,前端干的工作是用户可以直接看得见的,而后端开发的工作主要在服务端,用户不太能直接看到.虽然前端开发和后端开发的工作有巨大的区别,但是他们的工作都是 ...

  8. python排序三个数大小_python三个数从小到大排序_后端开发

    python中range()函数怎么用_后端开发 python中range()函数的用法:python中range()函数可创建一个整数列表,一般用在for循环中.语法为range(start,sto ...

  9. 下列不属于python第三方库的是-python后端开发工程师考证试题

    原标题:python后端开发工程师考证试题 python开发工程师考证试题 选择题 题目 关于 Python 程序格式框架的描述,以下选项中错误的是 ( A ) A: Python 语言不采用严格的& ...

最新文章

  1. Windows or Linux
  2. 常见模块设计--数据字典
  3. bugku web基础$_POST
  4. linux 最大磁盘 16t,linux ext4无法使用超过16T磁盘的解决办法
  5. 【实用】Word如何转换成PDF格式,文件转换三步免费搞定
  6. 【操作系统-进程】PV操作——哲学家问题
  7. 还在傻傻的数star、数fork吗?3秒钟教会你如何查看GitHub项目活跃度,是死是活一眼便知
  8. E9000刀片服务器维护记录
  9. 如何购买阿里云服务器和域名,Xshell连接服务器,域名备案。
  10. 分水岭matlab仿真,正确使用Matlab分水岭算法对细胞进行分割
  11. Android权限 权限等级 普通权限 敏感权限 申请权限
  12. java 搭建http服务器_搭建简单的HTTP服务器
  13. MOSFET及MOSFET驱动电路总结
  14. 初步认识数据库:数据、数据库、数据库管理系统、数据库系统分别是什么?
  15. 【飞桨】图神经网络7日打卡营 学习笔记
  16. 应届生找工作到哪里找
  17. Unicode 字符集七个字符属性
  18. C语言求一元二次方程的根。
  19. 关于SSL握手的错误解决
  20. iconfont 点击更新代码,默认不生成.eot、.svg、base64格式 请到编辑项目中配置

热门文章

  1. ECharts中使用tooltip时鼠标移入抖动问题
  2. 家里两个孩子,你们会一个跟爸姓,一个跟妈姓吗?
  3. 洛谷刷题C语言:Even? Odd? G、The Robot Plow G、pb的游戏(1)、询问学号、cover
  4. 农业大田作物智慧种植科研
  5. Visual Studio中的rc是什么文件
  6. 张氏华孙公 福建省上杭县张氏第一代开基祖宗
  7. Balsamiq Mockups注册码
  8. 1000句英语经典口语(9)
  9. 京东云李道兵:对象存储的新挑战
  10. 城市感知体系十大典型应用场景