如何深入理解php中的值传递和引用传递
对于值传递和引用传递,书本上的解释比较繁琐,而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里面的客人
?>
引用传递的特点
1相互影响 也就是说$k1中来多少客人,$k2就是显示多少客人,这就叫"拴在一条绳上的蚂蚱"
区别
1.使用上的区别
值传递的符号是=
引用传递符号是&
2意义上的区别
值传递是变量传递是互不影响的,而引用传递则是两个变量指向同一空间相互影响的
如何深入理解php中的值传递和引用传递相关推荐
- python参数传递方法_深入理解python中函数传递参数是值传递还是引用传递
python 的 深入理解python中函数传递参数是值传递还是引用传递 目前网络上大部分博客的结论都是这样的: Python不允许程序员选择采用传值还是传 引用.Python参数传递采用的肯定是&q ...
- Java中的值传递和引用传递
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 答:是值传递.Java 编程语言只有值传递参数.当一个对象实例作为 ...
- Java中传参数--值传递和引用传递
** Java中传参数–值传递和引用传递 ** 在Java中,传参数分为值传递和引用传递. 在Java中的数据类型分为两大类:一类是引用类型,也叫类类型(除了String以外的所有复合数据类型,包括数 ...
- java中的值传递和引用传递问题
值传递与引用传递 最近学基础的时候,老师讲了值传递和引用传递,这个问题一直不太明白,上网查了很多资料,按照自己的理解整理了一遍,发现之前不太明白的地方基本上想明白了,如有不正确的地方,欢迎指正,谢谢. ...
- 【Java基础】Java中的值传递、引用传递
Java中的值传递.引用传递 对于一个方法而言,参数是为该方法提供信息的,而不是想让该方法改变自己.--<Java编程思想> 值传递是对基本型变量而言的,传递的是该变量的一个副本,改变副本 ...
- 一个 js 中值传递和引用传递的坑。
今天在调试代码时遇到一个问题,刚开始想不明白,然后分析了一下后,才知道其中的问题,这也是一个基础的问题,(所以基础是很重要的) 代码如下: var a = 3; a = a * 2; console. ...
- 一文彻底搞懂Java中的值传递和引用传递!
关于Java中方法间的参数传递到底是怎样的.为什么很多人说Java只有值传递等问题,一直困惑着很多人,甚至我在面试的时候问过很多有丰富经验的开发者,他们也很难解释的很清楚. 我很久也写过一篇文章,我当 ...
- C#中 类和结构 值类型和引用类型以及 值传递和引用传递
类: 概念就不赘述了. 结构: 1>它是从System.Object派生.但不能从别的类中派生,也不能从别的结构中继承. 2>它是一个值类型.呵呵. 3>里面还能写方法和字段, 如: ...
- 三分钟让你掌握JavaScript中值传递和引用传递的区别
值传递:传递的是实际参数的一个副本.基本数据类型Undefined,Null,Boolean,Number.String都是值传递. 引用传递:传递的是实际参数的地址.引用数据类型Object,Arr ...
最新文章
- 省钱之道--图解域域树域林根域的含义
- EasyRTMP手机直播推送rtmp流flash无法正常播放问题
- github的webhooks无法刷新config服务端的bus-refresh接口
- 调用函数,判断各位数字立方和是否等于它本身
- P4316 绿豆蛙的归宿 期望dp + DAG
- android 系统(162)---O版本的Camera Startup time比N版本时间长
- android 自定义字体_Android自定义字体教程
- 智能优化算法——蝙蝠算法(PythonMatlab实现)
- 安卓10刷Magisk并安装JustTrustMe
- DID; PSM; DID-PSM
- mac外接键盘HOME,END键问题
- 驭龙HIDS的简介,它开源了
- 研究生毕业论文如何选题
- SAT数学考试需要准备的物品
- 计算机组装大赛初赛成功举办,不忘初心学本领,不负众望展技能|五冶龙泉校区第一届计算机组装比赛圆满落幕...
- 河海大学计算机考研算法题,河海大学考研真题各专业汇总
- 江苏灵匠php_江苏灵匠信息科技有限公司
- C语言中0UL和1UL表示什么意思?
- AS将module变为library遇到的问题
- 招行就是有前途——行长马蔚华年薪居各行之首