Answers:
如前所述,它正在返回参考。在PHP 4中,对象是按值分配的,就像其他任何值一样。这是非常不直观的,与大多数其他语言的工作方式相反。
为了解决这个问题,引用被用于指向对象的变量。在PHP 5中,很少使用引用。我猜这是遗留代码或试图保持与PHP 4向后兼容性的代码。
在PHP中,这通常称为返回参考或按参考返回。
当您要使用函数查找引用应绑定到哪个变量时,按引用返回很有用。不要使用引用返回来提高性能。引擎将自动自动对此进行优化。仅在有充分的技术理由时才返回引用。
PHP中的引用只是分配给变量内容的另一个名称。PHP引用与C编程中的指针不同,它们不是实际的内存地址,因此不能用于指针算术。
返回引用的概念尤其会使初学者感到困惑,因此举个例子将很有帮助。
$populationCount = 120;
function &getPopulationCount() {
global $populationCount;
return $populationCount;
}
$countryPopulation =& getPopulationCount();
$countryPopulation++;
echo "\$populationCount = $populationCount\n"; // Output: $populationCount = 121
echo "\$countryPopulation = $countryPopulation\n"; //Output: $countryPopulation = 121
getPopulationCount()
用前面定义的函数&
返回对的内容或值的引用$populationCount
。因此,递增$countryPopulation
,也递增$populationCount
。