この記事では主に PHP SplObjectStorage の使用例を紹介します。SplObjectStorage は、特にオブジェクトを一意に識別する必要がある場合に、オブジェクトのグループを格納するために使用されます。困っている友達は参考にしてください
PHP SPL SplObjectStorage は、特にオブジェクトを一意に識別する必要がある場合に、オブジェクトのセットを保存するために使用されます。
PHP SPL SplObjectStorage クラスは、Countable、Iterator、Serializable、ArrayAccess の 4 つのインターフェイスを実装します。統計、反復、シリアル化、配列アクセスなどの機能を実現できます。
以下の簡単な例を見てください:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
クラスA { 公開$i; パブリック関数 __construct($i) { $this->i = $i; } }
$a1 = 新しい A(1); $a2 = 新しい A(2); $a3 = 新しい A(3); $a4 = 新しい A(4);
$container = 新しい SplObjectStorage();
//SplObjectStorage::attach オブジェクトをストレージに追加します $container->attach($a1); $container->attach($a2); $container->attach($a3);
//SplObjectStorage::detach はストレージからオブジェクトを削除します $container->detach($a2);
//SplObjectStorage::contains は、オブジェクトが Storage に存在するかどうかを確認するために使用されます var_dump($container->contains($a1)); //true var_dump($container->contains($a4)); //false
//トラバース $container->rewind(); while($container->valid()) { var_dump($container->current()); $container->next(); } |