php面向对象传递赋值及引用赋值

关键词

1,传递赋值 2,引用赋值

通俗解答

1,传递赋值,创建二个变量$a $b 把$a的值传递给$b 如果$a的值发生变化在下一次输出的时候$a得值发生改变,$b还是$a第一次的赋值,因为传递赋值值会存在内存当中

2,引用赋值 创建二个变量$a $b 把$a的值传递给$b 如果$a的值发生改变那么$b也会改变

传递赋值例子

$a=123; $b=$a;

var_dump($a);
var_dump($b);

输出结果为:123 123

$a=321;

var_dump($a);
var_dump($b);

输出结果为:321 123

引用赋值例子

$a=123; $b=&$a;

var_dump($a);
var_dump($b);

输出结果为:123 123

$a=321;

var_dump($a);
var_dump($b);

输出结果为:123 123

面向对象传递赋值

<?php
 class jiub {
     public  $str=123;
 }

 $obj = new jiub();

 $a=$obj;
 var_dump($a);
 echo "<br/>";
 var_dump($obj);
 $obj->str=321;
 echo "<br/>";
 var_dump($a);
 echo "<br/>";
 var_dump($obj);
 $obj=456;
 echo "<br/>";
 var_dump($a);
 echo "<br/>";
 var_dump($obj);
?>

按照传递赋值 前面二组输出结果为123 123 321 123 但是php面向对象中

传递赋值的是$标识符 所以正确的输出结果是123 123 321 321

第三组赋值时直接赋值给$obj 所以第三组输出结果为:321 456

面向对象引用赋值

<?php
 class jiub {
     public  $str=123;
 }

 $obj = new jiub();

 $a=&$obj;
 var_dump($a);
 echo "<br/>";
 var_dump($obj);
 $obj->str=321;
 echo "<br/>";
 var_dump($a);
 echo "<br/>";
 var_dump($obj);
 $obj=456;
 echo "<br/>";
 var_dump($a);
 echo "<br/>";
 var_dump($obj);
?>

输出结果为:123 123 321 321 456 456

加群入久伴博客官方微信群

加入久伴官方微信群有啥优势?

1.文章内部资源由于时间久远可能失效,加群,群内可以第一时间反馈

2.网站中教程不一定适用任何人,加群可以第一时间咨询并解决您得疑惑

3.你游荡于互联网,也需要群体,加群一起互动交流,畅所欲言

扫描下方二维码即可加入交流讨论

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA赞助
共{{data.count}}人
人已赞助
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索