PHP オブジェクトを各オブジェクトで使用できるようにし、プロパティを Private で変更します。
リリース: 2016-07-25 09:06:33
退屈したときに遊んでください。
オブジェクトの走査は、実際にはオブジェクト内の特定の配列型属性を走査するだけです。
PHP5 以降では、直接 foreach することはできますが、クラスのプライベート メンバーにはアクセスできません。
オブジェクト指向の原則では、クラスのメンバーに外部から直接アクセスすることもできません。
- /*
- * @class Sample
- * @remark トラバーサル オブジェクトは実際には変数オブジェクト内の単なる配列です。オブジェクトをトラバースできるようにするには、反復子インターフェイスを実装する必要があります
- * /
- class サンプルは反復子を実装します
- {
- private $v1 = '123';
- private $v2 = 'abc';
- private $v3 = array( 1, 2, 3 );
- public function rewind()
- {
- / *
- * get_object_vars 機能を確認するには、この関数のマニュアルを確認してください
- * ここで、Sample オブジェクトは、動的に生成された属性 $data の代わりに、定義された属性を配列に実装します。
- * グループを $data に割り当てます
- * /
- $this->data = get_object_vars ( $this );
-
- /*
- * $data の最初の要素にカーソルを置きます
- */
- restart( $this->data ); }
-
- public function current() { return current( $this->data ); }
-
- public function key() { return key( $this->data ); }
-
- public function next() { return next( $this->data ); }
-
- public function valid() { return ( $this->current() !== false ); }
-
- }
-
- $s = new Sample();
-
- foreach( $s as $k=>$v ){ echo $k.'='.$v.'
';}
-
コードをコピー
|
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31