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 相关文章推荐
Fatal error: Call to undefined function curl_init()解决方法
Apr 09 PHP
PHP中break及continue两个流程控制指令区别分析
Apr 18 PHP
深入分析使用mysql_fetch_object()以对象的形式返回查询结果
Jun 05 PHP
简单的cookie计数器实现源码
Jun 07 PHP
Thinkphp的volist标签嵌套循环使用教程
Jul 08 PHP
php自定义apk安装包实例
Oct 20 PHP
PHP内存缓存Memcached类实例
Dec 08 PHP
FastCGI 进程意外退出造成500错误
Jul 26 PHP
php查询操作实现投票功能
May 09 PHP
php实现生成带二维码图片并强制下载功能
Feb 24 PHP
PHP序列化的四种实现方法与横向对比
Nov 29 PHP
PHP xpath提取网页数据内容代码解析
Jul 16 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
php中删除字符串中最先出现某个字符的实现代码
2013/02/03 PHP
如何让CI框架支持service层
2014/10/29 PHP
smarty模板引擎之内建函数用法
2015/03/30 PHP
浅谈php和js中json的编码和解码
2016/10/24 PHP
PHP PDOStatement::rowCount讲解
2019/02/01 PHP
PHP+Ajax简单get验证操作示例
2019/03/02 PHP
简单的php购物车代码
2020/06/05 PHP
JS与框架页的操作代码
2010/01/17 Javascript
JavaScript toFixed() 方法
2010/04/15 Javascript
javascript,jquery闭包概念分析
2010/06/19 Javascript
js使浏览器窗口最大化实现代码(适用于IE)
2013/08/07 Javascript
jquery $.each 和for怎么跳出循环终止本次循环
2013/09/27 Javascript
ExtJS的拖拽效果示例
2013/12/09 Javascript
JS实现模拟风力的雪花飘落效果
2015/05/13 Javascript
微信小程序 详解Page中data数据操作和函数调用
2017/01/12 Javascript
Node.js中用D3.js的方法示例
2017/01/16 Javascript
jQuery插件FusionCharts绘制的3D双柱状图效果示例【附demo源码】
2017/04/20 jQuery
[02:27]2018DOTA2亚洲邀请赛趣味视频之钓鱼大赛 谁是垂钓冠军?
2018/04/05 DOTA
[49:59]KG vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python 第一步 hello world
2009/09/25 Python
深入解析Python中的urllib2模块
2015/11/13 Python
Python变量和字符串详解
2017/04/29 Python
Python基础语言学习笔记总结(精华)
2017/11/14 Python
Python中单例模式总结
2018/02/20 Python
python pandas 如何替换某列的一个值
2018/06/09 Python
在unittest中使用 logging 模块记录测试数据的方法
2018/11/30 Python
使用pandas实现csv/excel sheet互相转换的方法
2018/12/10 Python
Python爬取爱奇艺电影信息代码实例
2019/11/26 Python
python使用pymongo与MongoDB基本交互操作示例
2020/04/09 Python
Python私有属性私有方法应用实例解析
2020/09/15 Python
原装进口全世界:天猫国际
2016/08/03 全球购物
viagogo意大利票务平台:演唱会、体育比赛、戏剧门票
2018/01/26 全球购物
总经理岗位职责
2013/11/09 职场文书
咖啡厅创业计划书范本
2014/01/22 职场文书
我爱读书演讲稿
2014/05/07 职场文书
奥林匹克的口号
2014/06/13 职场文书