php面向对象(2)值传递
程序员文章站
2023-10-30 22:27:34
PHP中值传递方式,2中 值传递:传递的时候,拷贝的是数据本身。默认都是值传递 结果:传递完成,有了2份同样的数据,且2个变量“相互独立”,不会相互影响 引用传递:传递的时候,拷贝的是引用关系(数据的内存地址)。需要使用“&”符合才能实现引用传递 结果:传递完成,数据仍然只要一份,但是2个变量共同指 ......
php中值传递方式,2中
值传递:传递的时候,拷贝的是数据本身。默认都是值传递
结果:传递完成,有了2份同样的数据,且2个变量“相互独立”,不会相互影响
引用传递:传递的时候,拷贝的是引用关系(数据的内存地址)。需要使用“&”符合才能实现引用传递
结果:传递完成,数据仍然只要一份,但是2个变量共同指向该数据。
示例:
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>document</title> </head> <body> <?php //值传递 $a = 10; function fun($b) { $b = $b +20; return $b; } echo "值传递结果--a:".$a." b:".fun($a)."<br />"; //引用传递 class cla { public $a = 10; } $c1 = new cla(); $c2 = $c1; $c2->a = 20; echo "<hr />引用传递结果--c1->a:".$c1->a." c2->a:".$c2->a."<br />"; var_dump($c1);echo "<br />"; var_dump($c2);echo "<br />"; echo "<hr />"; unset($c1); var_dump($c1);echo "<br />"; var_dump($c2);echo "<br />"; ?> </body> </html>
结果: