当前位置: 首页 > 面试题库 >

不建议通过引用分配new的返回值

柯景龙
2023-03-14
问题内容

我刚遇到一个错误。

当我尝试分配这样的对象时:

$obj_md = new MDB2();

我得到的错误是“不赞成通过引用分配new的返回值”。实际上,我一直在寻找解决方案,但是我唯一看到的就是拒绝php.ini的政策(error_reporting)。我也尝试过,但是没有用。

真令人困惑。希望您能帮助我。提前致谢。


问题答案:

在PHP5中,不赞成使用这种用法

$obj_md =& new MDB2();

您确定您没有在示例代码中漏号吗?这将生成您声明的警告,但是它不是必需的,可以将其删除。

要了解为什么在PHP4中使用了这个习惯用法,请参见本手册页(请注意,PHP4已经死了,并且此链接指向相关页面的存档版本)



 类似资料:
  • 本文向大家介绍PHP 通过引用分配,包括了PHP 通过引用分配的使用技巧和注意事项,需要的朋友参考一下 示例 这是引用的第一阶段。本质上,当您通过引用进行分配时,就是允许两个变量共享相同的值。 $foo和$bar是相等的在这里。他们没有指向对方。它们指向同一位置(“值”)。 您还可以在array()语言结构中通过引用进行分配。虽然不是严格按参考分配。 但是请注意,数组内部的引用具有潜在的危险。使用

  • 问题内容: 按引用返回的切片为空: 如何通过引用从函数返回切片? 问题答案: 通过分配给,您可以更改指向的位置,而不是指向的值。要做后者,而不是write 。

  • 根据下面的php代码,输出为 我理解&$ref是通过引用传递的。但在赋值之后类似($row=&$ref;)在任何地方,每当“row”更改值时,“ref”也会更改为与“row”相同的值。真的很迷惑。似乎=不仅将右值赋给左值。有人能核实一下吗?

  • 问题内容: 目标:按编号从PHP对象中检索数据元素。 这是对象的print_r($ data): 我不知道如何从中获取价值。这只是多记录对象的一条记录,应该使用id而不是名称。 这些是尝试失败的尝试,以说明目标是什么: 问题答案: 通常,PHP变量名称不能以数字开头。您也不能像未实现那样将其作为数组访问-这只是一个普通的基类。 但是,在这种情况下,您可以尝试按其数字名称访问对象属性,如下所示: 我

  • 我们正在建立Amazon Elasticsearch服务(运行Elasticsearch版本2.3)。 我们有不同类型的数据(我目前认为是同一索引中的不同文档类型)。 我们在一个应用程序中有一个通用的搜索,我们想要一个内联的自动完成功能,即一个从所有不同的数据(文档)类型返回命中的完成建议器。那怎么能建立起来呢?

  • 条款31: 千万不要返回局部对象的引用,也不要返回函数内部用new初始化的指针的引用 本条款听起来很复杂,其实不然。它只是一个很简单的道理,真的,相信我。 先看第一种情况:返回一个局部对象的引用。它的问题在于,局部对象 ----- 顾名思义 ---- 仅仅是局部的。也就是说,局部对象是在被定义时创建,在离开生命空间时被销毁的。所谓生命空间,是指它们所在的函数体。当函数返回时,程序的控制离开了这个空