<table cellspacing="0" cellpadding="0"> <tr><td class="t_f" id="postmessage_23820"> 退屈したときに遊んでください。 <br> オブジェクトの走査は、実際にはオブジェクト内の特定の配列型属性を走査するだけです。 <br> PHP5 以降では、直接 foreach することはできますが、クラスのプライベート メンバーにはアクセスできません。 <br> オブジェクト指向の原則では、クラスのメンバーに外部から直接アクセスすることもできません。 <br> <div class="blockcode"> <div id="code_VB1"><ol> <li><?php<li>/*<li> * @class Sample<li> * @remark トラバーサル オブジェクトは実際には変数オブジェクト内の単なる配列です。オブジェクトをトラバースできるようにするには、反復子インターフェイスを実装する必要があります <li> * /<li>class サンプルは反復子を実装します <li>{<li> private $v1 = '123';<li><li> private $v2 = 'abc';<li><li> private $v3 = array( 1, 2, 3 );<li><li> public function rewind() <li> {<li> / *<li> * get_object_vars 機能を確認するには、この関数のマニュアルを確認してください<li> * ここで、Sample オブジェクトは、動的に生成された属性 $data の代わりに、定義された属性を配列に実装します。 <li> * グループを $data に割り当てます<li> * /<li> $this->data = get_object_vars ( $this ); </li> <li> <li> /*</li> <li> * $data の最初の要素にカーソルを置きます </li> <li> */</li> <li> restart( $this->data ); }</li> <li> <li> public function current() { return current( $this->data ); }</li> <li> <li> public function key() { return key( $this->data ); }</li> <li> <li> public function next() { return next( $this->data ); }</li> <li> <li> public function valid() { return ( $this->current() !== false ); }</li> <li> <li>}</li> <li> <li>$s = new Sample();</li> <li> </li> <li>foreach( $s as $k=>$v ){ echo $k.'='.$v.'<br/>';}</li> <li> </ol></div>コードをコピー<em onclick="copycode($('code_VB1'));"></em> </div> </td></tr> </table> <div id="comment_23820" class="cm"> </div> <div id="post_rate_div_23820"> </div> <br>