use*_*637 5 php pass-by-reference
我试图理解通过引用传递.这可能是一个不好的比喻,但它是否像牛顿第三定律(动作 - 反应对)?
例如,对于以下代码
$a = 4;
$b = 2;
$n = 42;
$a = &$b;
Run Code Online (Sandbox Code Playgroud)
是
$a=$n同样的$b=$n?是不是值$a和$b存储在同一个地址?
如果正常分配这些变量:
$a = 1;
$b = 2;
$c = 3;
Run Code Online (Sandbox Code Playgroud)
然后关联将如下所示:
a --> 1
b --> 2
c --> 3
Run Code Online (Sandbox Code Playgroud)
现在,如果您$c参考$a,像这样:
$a = 1;
$b = 2;
$c = &$a;
Run Code Online (Sandbox Code Playgroud)
然后关联将如下所示:
a --> 1 <--.
b --> 2 |
c --------/
Run Code Online (Sandbox Code Playgroud)
换句话说,$a并$c指向相同的值.因为它们都指向相同的值,所以我们可以更改任一变量,它们都指向新值.
$a = 5;
echo "$a $c"; // Output: "5 5"
$c = 10;
echo "$a $c"; // Output: "10 10"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4600 次 |
| 最近记录: |