PHP参考手册
除了日文 “リファレンス” 外,对下面这个词进行汉语原生的改写只需要给出一个选项:
・”参考 ” 是指指示某个值的东西。
・指示存储变量的特定值的存储区域的另一个名字的变量。
<?php
$a = 10;
$b =& $a;
//$aと$bは、どちらも10という値の格納された同じ領域を指し示す変数。
//$a が $b を 指しているわけではなく、その逆でもない。
变量的重新赋值
当向一个变量的引用,并将值分配给引用的变量时,被引用的变量的值将被改变。
<?php
$a = 10;
$ref =& $a;
$ref = 20; //参照変数の再代入
echo $a, PHP_EOL; //20
数组的参考资料
<?php
//値渡し
$arr = [1, 2, 3];
foreach( $arr as $v ){
$v *= 2;
}
print_r($arr);
/*
Array
(
[0] => 1
[1] => 2
[2] => 3
)
*/
//リファレンス渡し
$arr = [1, 2, 3];
foreach( $arr as &$v ){
$v *= 2;
}
print_r($arr);
/*
Array
(
[0] => 2
[1] => 4
[2] => 6
)
*/
取消引用
通过使用unset()将变量的值销毁,可以取消其引用。
<?php
$arr = [1, 2, 3];
foreach($arr as &$value){
$value *= 2;
}
unset($value); //参照の解除
$value = 1000;
print_r($arr);
/*
Array
(
[0] => 2
[1] => 4
[2] => 6
)
*/
如果没有解除引用。
<?php
$arr = [1, 2, 3];
foreach($arr as &$value){
$value *= 2;
}
$value = 1000;
print_r($arr);
/*
Array
(
[0] => 2
[1] => 4
[2] => 1000
)
*/