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>
结果:
原文:https://www.cnblogs.com/gaogzhen/p/10062507.html