码迷,mamicode.com
首页 > Web开发 > 详细

php面向对象(2)值传递

时间:2018-12-04 11:32:43      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:new   拷贝   public   ima   技术分享   htm   head   引用关系   char   

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)值传递

标签:new   拷贝   public   ima   技术分享   htm   head   引用关系   char   

原文地址:https://www.cnblogs.com/gaogzhen/p/10062507.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!