有人可以向我解释以下内容的区别是什么:
$var = 'something';
function myFunc(){
global $var;
// do something
}
和(注:参考符号&)
$var = 'something';
function myFunc(&$var){
// do something
}
我无法理解这两种方法之间的区别。
更新
嗯...我想我在这里有点困惑:)
$var = 1;
$var2 = 2;
function myFunction(){
global $var, $var2;
$var = $var + $var2;
}
// echo $var 将在此处返回 3。
$var = 1;
$var2 = 2;
function myFunction(&$a, &$b){
$a = $a + $b;
}
// echo $var 也会在这里返回 3。
我已经理解了那些部分,但是我不明白这两种方法之间的区别,我是否错误地认为这两种方法在技术上是相同的,对于编码器如何编写它们以及如何编写它们的概念不同它们是由 PHP 处理的吗?
如果我的假设是错误的,那么如果你能提供更好的例子,那真的很有帮助,也许只使用上述方法之一就可以完成?
好的,我在编写This Update时注意到了一个区别,那就是在进行引用时,我可以选择新的变量名,同时将指向变量的指针保留在函数范围内。