オブジェクトに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]); }