欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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>

  结果:php面向对象(2)值传递