我有一个像这样调用的函数:
foo($object->ID);
并且在函数中,如果将$object
作为变量传递,我需要以某种方式选择$object->ID
。
function foo($id = NULL){
if($id != NULL) ... // here I want to get $object
else ...
}
我该怎么做?
答案 0 :(得分:5)
这是不可能的。您传递的数字没有任何关于其来源的信息。这样做
foo($object)
function foo($object){
if($object->ID !== null) ... // work with $object
else ... // work with ID
}
答案 1 :(得分:4)
为什么不:
foo($object);
和
function foo($localObject){
if(isset($localObject->id)){
}
}
答案 2 :(得分:2)
您需要将对象作为参数而不是ID传递。
答案 3 :(得分:1)
如果我理解你正确的问题,为什么不通过ref传递对象本身?
function foo(&$obj)
{
if($obj != NULL && $obj->ID != NULL)
{
// ...process your stuff
}
}
我的PHP非常生疏,但我很确定你是如何通过参考...