gpt4 book ai didi

php - 如何从函数返回对象?

转载 作者:行者123 更新时间:2023-12-02 06:28:51 25 4
gpt4 key购买 nike

我不明白如何从函数返回对象。由于对象是通过引用传递和返回的,如果我在函数中创建了一个对象,我希望这个对象在函数完成执行后被销毁。因此,此类返回的对象引用应该引用不存在(已销毁)的对象。但是我在函数中创建的对象已成功返回。怎么会??

class O{
public $ppty = "ppty value";
}

function f1(){
$o1 = new O();
return $o1;
}

var_dump(f1());


**Result:**
object(O)[15]
public 'ppty' => string 'ppty value' (length=10)

最佳答案

“持有”对象的变量实际上持有对该对象的引用。该对象存在于内存中的某个地方,引用该对象的变量只保存内存地址(过于简单)。 那是引用。当返回该引用或将其传递到某个地方或将其分配给另一个变量时,会制作该引用的副本(意味着内存地址值被复制;例如,您返回值 0xDEADBEAF 从你的功能;再次,过于简单化)。这些引用被算作对象的属性;只有当引用计数达到 0(没有变量再持有对对象的引用)时,对象才会被垃圾回收。

关于php - 如何从函数返回对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46384156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com