php面向对象(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>

  结果:

posted on 2018-12-04 10:14  g2zh  阅读(340)  评论(0编辑  收藏  举报