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