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

久伴
久伴
久伴
659
文章
539
评论
2020年7月19日17:21:45 评论 113 938字阅读3分7秒

关键词

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

继续阅读
久伴
php面向对象之引用传递赋值 PHP笔记

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

引用赋值格式:$a=&$b $a引用$b (二者共同使用一份空间) 传递赋值格式:$c=$b $b赋值给$c (当$b数据发生变化是,$c会生产新的内存空间) 举例 $a=3; $b=$a; ...
PHP面向对象理解 PHP笔记

PHP面向对象理解

面向对象,无论你是计算机专业,或者培训机构,接触面向对象的语言多半是java,其实其他语言一样也有面向对象只是一个规范性(正则表达式一样,也是不分语言的) 为什么要使用面向对象方式写代码,以下为个人理...
php截取@(字符串)前面的内容或后面内容 PHP笔记

php截取@(字符串)前面的内容或后面内容

substr截取字符串,并显示出来,有三个参数,通俗来讲 第一个参数代表需要截取的内容,第二个参数有正负之分,正数从内容开头截取,负数从内容尾部截取 比如11949420@qq.com 第二个参数填2...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: