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 文件夹删除、php清除缓存程序
Aug 25 PHP
php json_encode奇怪问题说明
Sep 27 PHP
PHP数组及条件,循环语句学习
Nov 11 PHP
解析php常用image图像函数集
Jun 24 PHP
解析php php_openssl.dll的作用
Jul 01 PHP
php实现过滤表单提交中html标签的方法
Oct 17 PHP
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
Nov 06 PHP
php根据一个给定范围和步进生成数组的方法
Jun 19 PHP
PHP实现删除字符串中任何字符的函数
Aug 11 PHP
php过滤所有的空白字符(空格、全角空格、换行等)
Oct 27 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
Nov 10 PHP
CodeIgniter框架钩子机制实现方法【hooks类】
Aug 21 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
香妃
2021/03/03 冲泡冲煮
jQuery 版本的文本输入框检查器Input Check
2009/07/09 Javascript
xheditor与validate插件冲突的解决方案
2010/04/15 Javascript
一个JQuery写的点击上下滚动的小例子
2011/08/27 Javascript
Js参数值中含有单引号或双引号问题的解决方法
2013/11/06 Javascript
node.js中的fs.createReadStream方法使用说明
2014/12/17 Javascript
jquery采用oop模式class类的使用示例
2016/01/22 Javascript
jquery分页插件jquery.pagination.js实现无刷新分页
2016/04/01 Javascript
js流动式效果显示当前系统时间
2016/05/16 Javascript
浅谈javascript基础之客户端事件驱动
2016/06/10 Javascript
AngularJS内建服务$location及其功能详解
2016/07/01 Javascript
Vue.js tab实现选项卡切换
2017/05/16 Javascript
vue源码入口文件分析(推荐)
2018/01/30 Javascript
在VUE style中使用data中的变量的方法
2020/06/19 Javascript
[49:31]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS BO3 第二场 1月29日
2021/03/11 DOTA
[08:56]DOTA2-DPC中国联赛2月23日Recap集锦
2021/03/11 DOTA
浅谈python类属性的访问、设置和删除方法
2016/07/25 Python
python3.4用函数操作mysql5.7数据库
2017/06/23 Python
python 中split 和 strip的实例详解
2017/07/12 Python
Python使用Phantomjs截屏网页的方法
2018/05/17 Python
pandas.DataFrame选取/排除特定行的方法
2018/07/03 Python
Python3数据库操作包pymysql的操作方法
2018/07/16 Python
python文本数据处理学习笔记详解
2019/06/17 Python
如何使用Python 打印各种三角形
2019/06/28 Python
Python3 执行Linux Bash命令的方法
2019/07/12 Python
彻底搞懂 python 中文乱码问题(深入分析)
2020/02/28 Python
Python Dict找出value大于某值或key大于某值的所有项方式
2020/06/05 Python
乌克兰电子产品和家用电器购物网站:TOUCH
2019/08/09 全球购物
如何查找网页漏洞
2016/06/22 面试题
园艺师求职信
2014/03/10 职场文书
出差报告怎么写
2014/11/06 职场文书
2014幼儿园教育教学工作总结
2014/12/17 职场文书
2015年公务员工作总结
2015/04/24 职场文书
2016年清明节红领巾广播稿
2015/12/17 职场文书
小学五年级(说明文3篇)
2019/08/13 职场文书
JavaWeb实现显示mysql数据库数据
2022/03/19 Java/Android