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
)
*/
广告
将在 10 秒后关闭
bannerAds