2010-12-14 4 views
0

나는 이런 식으로 호출되는 함수가 있습니다, PHP의 객체 부모

foo($object->ID); 

및 기능에 나는 $object->ID가 변수로 전달되는 경우 어떻게 든 $object을 선택해야합니다.

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

어떻게하면됩니까?

답변

1

이, 왜 그냥 심판에 의해 객체 자체를 전달 : 왜 안

+1

이 경우 Pass-by-Ref는 관련이 없습니다. –

+0

나는 분명히해야한다 : 당신은 완전히 새로운 사본을 만들지 않도록 참조로 객체를 전달하고 싶다. –

+0

그 이유는 꽤 어리석은 짓입니다 :) 나는이 모든 것을 제외하고는 모두'$ object-> id'를 인수로 사용하는 함수 집합을 가지고 있습니다. 그리고 이것은 단지 하나만 쓰지 않았다면보기 흉하게 보입니다. – Alex

5

그건 불가능합니다. 출처에 관한 정보없이 번호를 전달하고 있습니다. 이 작업을 수행하십시오

foo($object) 

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

} 
2

ID 대신 인수로 개체를 전달해야합니다.

foo($object); 

내가 제대로 질문을하는지 이해한다면

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

당신은 또 다른 매개 변수를 추가하지에있는 개체를 전달하고 해당 개체에서 ID를 받아야합니다 ... 당신은 심판에 의해 통과 방법 그건 꽤 확신합니다. – Josh

4

?

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

내 PHP의 꽤 녹슨,하지만 난

관련 문제