php - 在 PHP 中, 'assign by reference' 如何与这个新的 stdclass 一起使用?

标签 php

PHP 手册的这一页说只有命名变量可以通过引用分配,http://www.php.net/manual/en/language.variables.basics.php 。它给出的示例是 $bar = &$foo; 是有效的赋值,但 $bar = &(24 * 7); 不是。

然而,在有关变量范围的页面中,http://www.php.net/manual/en/language.variables.scope.php ,它给出了 $obj = &new stdclass; 的示例。

怎么会这样呢? new stdclass 不是命名变量!

谢谢...

最佳答案

new 构造在引用方面有点特殊:

$obj = &new stdclass;

实际上不建议再这样做(那是PHP 4代码),你应该这样写:

$obj = new stdclass;

但是为了论证和你的问题,还有 return by referenceshy;Docs它将所述命名变量作为函数的返回值传递:

$obj = &someFunction();

正如您所想,这也适用于其他语言结构。重要的一点是,如果有引用,就必须有一些变量。如果没有变量,您就无法在 PHP 中获得引用。

关于php - 在 PHP 中, 'assign by reference' 如何与这个新的 stdclass 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9452690/

相关文章:

php - 我刚刚被黑了,但我不知道如何或更重要的是,为什么。注入(inject)了非常奇怪的代码

php - 从另一个 php 文件中检索变量

php - div 之间的 jquery 平滑网站导航

php date_parse ("Feb 2010") 给出 day == 1

php - 使用 mysql_real_escape_string() 时访问被拒绝错误

php - 多个访问者可以共享同一个IP地址吗?

php - 如何将html输入到php sql中

php - 在 Facebook 上链接的规范 url 而不是真实 url。动态 OpenGraph 标 checkout 现错误

php - 如何使用 C++ 代码与 PHP 交互?

php - 如何根据用户使用 SQL 获得的积分数量找到用户的排行榜位置?