PHP - 获得对象的父

问题描述:

我有一个名为像这样的功能:PHP - 获得对象的父

foo($object->ID); 

,并在功能我需要以某种方式选择$object如果$object->ID作为一个变量传递。

function foo($id = NULL){ 
    if($id != NULL) ... // here I want to get $object 
    else ... 
} 

我该怎么做?

如果我理解你的要求正确,为什么不干脆由参传递对象本身?

function foo(&$obj) 
{ 
    if($obj != NULL && $obj->ID != NULL) 
    { 
     // ...process your stuff 
    } 
} 

我的PHP的相当生疏,但我相当肯定这就是你擦肩而过......参考

+1

传递参考在这种情况下不相关。 – 2010-12-14 22:45:37

+0

我应该澄清一点:您要确保您通过引用传递对象,以便您不需要创建它的全新副本。 – 2010-12-14 22:45:57

+0

那么原因很愚蠢:)我有一套函数,除了这个函数之外,'$ object-> id'作为参数。它看起来很丑,如果只是这一个没有:) – Alex 2010-12-14 22:46:15

这是不可能的。您传递的号码没有任何关于其来源的信息。是否这样做

foo($object) 

function foo($object){ 
    if($object->ID !== null) ... // work with $object 
    else ... // work with ID 

} 

您需要将参数作为参数传递,而不是ID。

+0

你应该只传递对象,并从该对象获取ID,不添加其他参数。 – Josh 2010-12-14 22:44:47

为什么不:

foo($object); 

function foo($localObject){ 
    if(isset($localObject->id)){ 
    } 
}