变量传值在开发中经常会遇到,主要有两种方式:值传递和引用传递,下面通过一个示例来说明两者的区别。
首先定义两个变量 $a
和 $b
:
$a = $b =10; #表示两个变量都等于10。
值传递:在一个变量发生改变后,另外一个变量不受影响。
示例:
$c = $a;
引用传递:在一个变量改变后,另一个变量也跟着改变。变量保存的值的地址传递给另一个变量,两个变量的值指向同一个地址,互相影响。
示例:
$d = &$b;
先输出一下变量 $c
和 $d
:
echo $c,$d; #结果是 1010
下面把 $a
和 $b
的值修改一下:
$a = 1; $b = 2;
再输出一下 $c
和 $d
结果是:102 ,说明 $a
的改变没有影响到 $c
, $b
的改变影响到了 $d
。
echo $c,$d; #结果是 102