[php] 객체 PHP의 모든 속성을 반복

개체의 모든 속성을 어떻게 반복 할 수 있습니까?. 지금은 객체의 각 속성을 인쇄하기 위해 새로운 코드 라인을 작성해야합니다.

echo $obj->name;
echo $obj->age;

foreach 루프 또는 루프를 사용하여 객체의 모든 속성을 반복 할 수 있습니까?

이 같은

foreach ($obj as $property => $value)



답변

이것이 출력 디버깅을위한 것일 경우 다음을 사용하여 모든 유형과 값도 볼 수 있습니다.

var_dump($obj);

출력을 더 많이 제어하려면 다음을 사용할 수 있습니다.

foreach ($obj as $key => $value) {
    echo "$key => $value\n";
}


답변

테스트 목적으로 다음을 사용합니다.

//return assoc array when called from outside the class it will only contain public properties and values 
var_dump(get_object_vars($obj));


답변

객체 속성을 표현하는 또 다른 방법이 있습니다.

foreach ($obj as $key=>$value) {
    echo "$key => $obj[$key]\n";
}


답변

때로는 디버깅 목적이 아닌 객체의 변수를 나열해야합니다. 이를 수행하는 올바른 방법은 get_object_vars ($ object)를 사용하는 것입니다. 모든 클래스 변수와 해당 값이있는 배열을 반환합니다. 그런 다음 foreach 루프에서 반복 할 수 있습니다. 객체 자체 내에서 사용하는 경우 간단히 get_object_vars ($ this)


답변