2011-12-06 2 views
0

루프 내부에서 객체를 인스턴스화해야하는 이유는 무엇입니까?foreach에서 객체 인스턴스화

foreach ($primaryKeys as new foo($primaryKey){ 
    // do stuff with the object we just instantiated 
} 

답변

1

당신은 단지 루프 내에서 인스턴스화 할 수 ...

foreach ($primaryKeys as $primaryKey{ 
    $pk = new foo($primaryKey); 
    // do stuff with the object we just instantiated 
} 

는 그런 식으로 작동하지 않는 이유는 무엇입니까?

+0

그것은 작동 잘, 내 질문을보고 .. 난 안에 그것을 할 수있는 방법이 있다면 그냥 궁금, 당신은 루프 내에서 그것을 할 수있어 foreach() 자체에서 코드를 약간 정리합니다. – Matthew

0

foreach의 변수를 =으로 할당 할 수 없으므로 불가능합니다. 그리고 아무데도 할당하지 않으면 개체 인스턴스로 작업 할 수 없습니다.

그러나,이 트릭을 할 것입니다 :

foreach ($primaryKeys as $primaryKey) { 
    $whatever[] = new foo($primaryKey); 
} 
관련 문제