オブジェクトにforeach

あるソースを見ててオブジェクトのプロパティを扱うのにforeachを使ってました。
マニュアルを探しても見つからなかったんですが、これってOKなのだろうか?

<?php

class Obj {
	var $a = 'a';
	var $b = false;
	var $c = 1;
	var $d = array();
	var $e;
}
$obj = new Obj();

foreach ($obj as $k => $v) {
	var_dump($k);
	var_dump($v);
}

結果は:
string(1) "a"
string(1) "a"
string(1) "b"
bool(false)
string(1) "c"
int(1)
string(1) "d"
array(0) {
}
string(1) "e"
NULL
?>

こうやるのは間違いないと思うんだけど、上記だとスッキリするんだよな

$vars = get_object_vars($obj);
foreach ($vars as $k) {
	var_dump($k);
	var_dump($vars[$k]);
}