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

给TA买糖
共{{data.count}}人
人已赞赏
PHP笔记

PHP面向对象理解

2020-7-11 22:06:52

PHP笔记

php面向对象mysqli方式操mysql数据库

2020-7-28 22:15:02

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