侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130555 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

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

2022-06-01 星期三 / 0 评论 / 0 点赞 / 110 阅读 / 1864 字

关键词 1,传递赋值 2,引用赋值 通俗解答 1,传递赋值,创建二个变量$a $b 把$a的值传递给$b 如果$a的值发生变化在下一次输出的时候$a得值发生改变,$b还是$a第一次的赋值,因为传递赋值…

关键词

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

广告 广告

评论区