为了账号安全,请及时绑定邮箱和手机立即绑定

使用&符号启动PHP函数意味着什么?

使用&符号启动PHP函数意味着什么?

PHP
www说 2019-08-08 14:51:14
使用&符号启动PHP函数意味着什么?我正在使用带有此代码的Facebook库:class FacebookRestClient {...     public function &users_hasAppPermission($ext_perm, $uid=null) {         return $this->call_method('facebook.users.hasAppPermission',          array('ext_perm' => $ext_perm, 'uid' => $uid));     }...}函数定义的开头是什么意思,以及我如何使用这样的库(在一个简单的例子中)
查看完整描述

3 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

函数名前的&符号表示函数将返回对变量的引用而不是值。

当您想要使用函数来查找引用应该绑定到哪个变量时,通过引用返回很有用。不要使用按引用返回来提高性能。引擎将自动对其进行自动优化。只有在有正当技术理由的情况下才返回引用。

请参阅返回参考


查看完整回答
反对 回复 2019-08-08
?
侃侃无极

TA贡献2051条经验 获得超10个赞

如前所述,它正在返回一个引用。在PHP 4中,对象按值分配,就像任何其他值一样。这非常不直观,与大多数其他语言的工作方式相反。

为了解决这个问题,引用被用于指向对象的变量。在PHP 5中,很少使用引用。我猜这是遗留代码或代码试图保持与PHP 4的向后兼容性。


查看完整回答
反对 回复 2019-08-08
?
德玛西亚99

TA贡献1770条经验 获得超3个赞

这通常在PHP中称为返回引用通过引用返回

当您想要使用函数来查找引用应该绑定到哪个变量时,通过引用返回很有用。不要使用按引用返回来提高性能。引擎将自动对其进行自动优化。只有在有正当技术理由的情况下才返回引用。

关于返回引用的 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


查看完整回答
反对 回复 2019-08-08
  • 3 回答
  • 0 关注
  • 312 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信