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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (21)

代码:

class FacebookRestClient {
...
    public function &users_hasAppPermission($ext_perm, $uid=null) {
        return $this->call_method('facebook.users.hasAppPermission', 
        array('ext_perm' => $ext_perm, 'uid' => $uid));
    }
...
}

函数定义开头的&表示什么,以及如何使用这样的库(在一个简单的例子中)

提问于
用户回答回答于

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

当您想使用函数来查找引用应绑定到哪个变量时,通过引用返回很有用。不要使用按引用返回来提高性能。引擎会自动优化它。只有当你有合理的技术理由才能返回参考。

用户回答回答于

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

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

扫码关注云+社区