php引用和拷贝的区别知识点总结


Posted in PHP onSeptember 23, 2019

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

第一步

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

<?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来理解

<?php

$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 foreach、while性能比较
Oct 15 PHP
PHP跨时区(UTC时间)应用解决方案
Jan 11 PHP
将php数组输出html表格的方法
Feb 24 PHP
php输出金字塔的2种实现方法
Dec 16 PHP
PHP7之Mongodb API使用详解
Dec 26 PHP
PHP实现微信网页授权开发教程
Jan 19 PHP
浅析php设计模式之数据对象映射模式
Mar 03 PHP
yii2使用ajax返回json的实现方法
May 14 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
Mar 31 PHP
Kindeditor编辑器添加图片上传水印功能(php代码)
Aug 03 PHP
PHP实现上传图片到数据库并显示输出的方法
May 31 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
Mar 24 PHP
php异常处理捕获错误整理
Sep 23 #PHP
ThinkPHP 5.x远程命令执行漏洞复现
Sep 23 #PHP
PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能
Sep 23 #PHP
redis+php实现微博(三)微博列表功能详解
Sep 23 #PHP
redis+php实现微博(二)发布与关注功能详解
Sep 23 #PHP
redis+php实现微博(一)注册与登录功能详解
Sep 23 #PHP
php日志函数error_log用法实例分析
Sep 23 #PHP
You might like
地球防卫队:陪着奥特曼打小怪兽的人类力量 那些经典队服
2020/03/08 日漫
PHP脚本的10个技巧(3)
2006/10/09 PHP
php zlib压缩和解压缩swf文件的代码
2008/12/30 PHP
PHP实现创建一个RPC服务操作示例
2020/02/23 PHP
jquery.validate使用攻略 第三部
2010/07/01 Javascript
javascript hashtable 修正版 下载
2010/12/30 Javascript
jquery中的事件处理详细介绍
2013/06/24 Javascript
Extjs单独定义各组件的实例代码
2013/06/25 Javascript
jQuery实现的支持IE的html滑动条
2015/03/16 Javascript
jQuery实现的在线答题功能
2015/04/12 Javascript
今天抽时间给大家整理jquery和ajax的相关知识
2015/11/17 Javascript
HTML5游戏引擎LTweenLite实现的超帅动画效果(附demo源码下载)
2016/01/26 Javascript
JS代码实现百度地图 画圆 删除标注
2016/10/12 Javascript
Node.js中sequelize时区的配置方法
2017/12/10 Javascript
基于iScroll实现内容滚动效果
2018/03/21 Javascript
基于vue-video-player自定义播放器的方法
2018/03/21 Javascript
Angular如何由模板生成DOM树的方法
2019/12/23 Javascript
JS图片预加载三种实现方法解析
2020/05/08 Javascript
Python内置函数的用法实例教程
2014/09/08 Python
python排序方法实例分析
2015/04/30 Python
Python中的pack和unpack的使用
2018/03/12 Python
Python for循环生成列表的实例
2018/06/15 Python
python多进程读图提取特征存npy
2019/05/21 Python
Python 实现遥感影像波段组合的示例代码
2019/08/04 Python
ubuntu 安装pyqt5和卸载pyQt5的方法
2020/03/24 Python
Python如何将模块打包并发布
2020/08/30 Python
值得收藏的HTML5资源(学习html5的朋友可以收藏下)
2010/07/20 HTML / CSS
荷兰领先的百货商店:De Bijenkorf
2018/10/17 全球购物
澳大利亚网上书店:QBD
2021/01/09 全球购物
.NET程序员的几道面试题
2012/06/01 面试题
简历中个人求职的自我评价模板
2013/11/29 职场文书
学校门卫岗位职责范本
2014/06/30 职场文书
室内趣味活动方案
2014/08/24 职场文书
史上最全的军训拉歌口号
2015/12/25 职场文书
2016年小学端午节活动总结
2016/04/01 职场文书
80行代码写一个Webpack插件并发布到npm
2021/05/24 Javascript