PHP中传值赋值和引用赋值详解_第1页
PHP中传值赋值和引用赋值详解_第2页
PHP中传值赋值和引用赋值详解_第3页
PHP中传值赋值和引用赋值详解_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.变量间的赋值方式l=JIM$a=变量值;$b=$a;将a变量的值赋值给b变量有这种传值方式:传值赋值引用赋值1.2.传值赋值将$3变量的值复制出一份存放到$b变量中.修改$a和$b的值相互不会影响.因为他们各自指向自己的内存区域.1<?phj2|变昼竺A:3云=导54注=|变邑笙2*5■echc6?>

|_|±HL变量值11.3.引用赋值将$3变量引用复制出一份作为$b变量的引用.两个变量的引用指向同一个内存空间.通过&符号表示在赋值过程值使用引用赋值.

修改$a,$b的值都是修改值空间.会相互影响两个变量的值.修改$a,$b的值都是修改值空间.会相互影响两个变量的值.$匕=我日;钮='变宣笙8;echo变量值21.4.在PHP中对象类型默认的就是引用赋值变量值2在PHP中的对象是引用数据类型,默认情况下就使用引用赋值.所以在赋值过程中不需要通过&符号来指定引用传递.class5inpleClass{publicSname:Jobj=newSimpleClassO;〃以下两种写法是等价的Jobj2=$ot>j;//$obj2=&汹以$obj2->name=,张三echo$obj->name;//芝三这里肯定有同学质疑obj->name怎么会是张三呢?请看以下图解:

^obj=nc\ArSimplerIassQ;建立。坷和右边对象的弓|^obj=nc\ArSimplerIassQ;建立。坷和右边对象的弓|用$ubj2-$ubj;将_|_面的引用拷贝到下面指向同一个封家Jobj?>namc=,张:修改为象nnmr?中的恒一土这时不管■:山曲1犯都指向同一个对象,$obj=newSimpleClass();以以下两种写法是等铃的$obj2=$obj;//$obj2=&$obj;$abj2->name='张三,:echo$obj->naine;〃驱二在PHP中数组类型默认的就是传值赋值在PHP中的数组默认情况下就使用传值赋值.如需使用引用赋值需要通过&符号来指定.默认传值赋值:$arnl=array(1三■/李四二,王五如pp2=轴ppI;Jarrl[]=,秘六var_dtjffip(farr2);〃张三厚四王五通过&指定引用赋值:$arrl=array(1张三','李四','王五');5anr2=&5arrlj$arrl[]=,赵六';var_dump($arr2)j•丁釜三圭匹王三逐六选择哪种赋值方式呢?如果变量a指向的内存存储大量数据,将变量a赋值给变量b,建议使用引用赋值,这样可以节约内存的使用率.但b变量值的改变就会影响到a.引用赋值的使用场景变量赋值〃。物变量拘植改变后都会相互影竭$3=,张三七$b=&$b;函数对外部变量值的改变.〃函数内对变量的改变会影响到函数外的变量值=,张三,;functiondiv(&$b)(/7形式参数使用到引用传值$b=,李四,;}div($a);echo轴;foreach中改变数组中元素的值$arr=array('5ft三1』1李四1,1王五・);■foreach($arras&Jv)(使用到

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论