2012-04-25 3 views
2

개체 컬렉션을 저장하려고하는데 foreach 루프에서 개체 메서드를 호출 할 수 없습니다. 이것은 기본적으로 내가 가지고있는 것입니다. 인쇄 기능은 아무것도 인쇄하지 않습니다. 내가보고있는 것 또는 그것에 대해 갈 방법이 아닌가?foreach 루프를 사용하여 배열에있는 개체의 개체 메서드를 호출하는 방법

public function __construct($name) { 
    $this->name = $name; // not $this->$name 
} 
+1

하고 그것을 잘 작동합니다 :

public function __construct($name) { $this->$name = $name; } 

으로 :

는 교체합니다. 문제는 다른 곳에서 발생합니다. 오류보고 기능이 켜져 있습니까? –

+0

이것은 내 코드의 단순화 된 버전입니다. 붙여 넣기 복사하고 너무 효과가 있습니다. 그것은 내 상급반의 무언가 일 것임에 틀림 없다. – wachpwnski

+0

이 코드를 사용해보십시오. 다중 매개 변수 구조 일 수 있습니까? https://gist.github.com/a7e525e84cb95057a676 – wachpwnski

답변

4

는이 같은 이름 (아마 오타)를 설정해야합니다. 하지만 수업에는 실수가 있습니다. 내가 코드를 붙여 넣은 복사

public function __construct($name) { 
     $this->name = $name; 
    } 
+0

여기 오타가있었습니다. 여전히 빈 출력은 변경되지 않습니다. – wachpwnski

+0

나를 위해 그것은 테스트 파일에서 작동합니다. error_reporting (E_ALL); ini_set ('display_errors', '1'); '맨 위? –

+0

동의 - 나에게도 적합합니다. – Kasapo

2

루프가 작동 :

class person 
{ 
    private $name; 

    public function __construct($name) { 
     $this->name = $name; 
    } 

    public function get_name() { 
     return $this->name; 
    } 
} 

$test_set[] = new person("John"); 
$test_set[] = new person("Jane"); 

foreach($test_set as $set_item) { 
    print $set_item->get_name(); 
} 
+2

왜 downvoted ... +1이 맞는지 확실하지 않습니다. – Kasapo

+1

@ anonymous down-votes. 아마 downvoter 그것이 매우 비슷한 대답보다 몇 분 후에 왔다고 생각했기 때문에. 그러나 여전히 맞습니다. –

관련 문제