提问人:Nu Gnoj Mik 提问时间:4/19/2014 更新时间:8/14/2015 访问量:60
PHP - 通过引用传递的意义何在?
PHP - What is the point of passing by reference?
问:
好的,我知道通过引用传递是什么......我不需要解释。
假设您有一个通过引用接收参数的函数:
function foo(&$a){
$a = 1;
}
你称它为:
$a = 0;
foo($a); // Now $a is 1.
您可以执行与按值传递完全相同的操作:
function foo($a){
$a = 1;
return $a;
}
你称它为:
$a = 0;
$a = foo($a); // Now $a is 1.
那么,通过引用传递的意义何在?
答:
0赞
Nu Gnoj Mik
8/14/2015
#1
从上面发布的评论和其他一些研究中回答我自己的问题:
- 由于只有对对象的引用才会传递给按引用传递的函数,因此在尝试节省内存时,它可能特别有用。
- 如果存在这样一种情况,即您想要更改一个实体但返回一个不同的实体,则按引用传递可以派上用场(尽管我宁愿使用多个带有返回值的函数)。
除了这两种情况之外,我认为这种方法可能会在大型代码库中引起混淆,并导致一些令人讨厌的代码。
如果您知道我应该添加的任何其他原因,请发表评论,我会在这里添加它们。
评论
preg_match
validateOrReplace($document)