Splobjectstorage 是spl规范库中的数据对象容器,用来存储一组对象。特地是当须要惟一标识对象的时候。
class Person{ public $name; public function __construct(string $name) { $this->name = $name; }}//实例化对象$zhangsan = new Person('张三');$lisi = new Person('李四');$wangwu = new Person('王五');$zhaoliu = new Person('赵六');//实例化对象存储$container = new SplObjectStorage();//往存储空间写入对象$container->attach($zhangsan);$container->attach($lisi);$container->attach($wangwu);$container->attach($zhaoliu);//统计存储空间外面的对象的数量echo "存储对象数量" . $container->count() . PHP_EOL;//判断指定的对象是否在存储空间中echo "是否蕴含指定对象:";var_dump($container->contains($lisi)) . PHP_EOL;$lisi2 = new Person("李四");echo "指定新对象:";var_dump($container->contains($lisi2)) . PHP_EOL;echo "删除指定对象";$container->detach($wangwu);echo PHP_EOL;//查看以后指针所在的索引地位echo "指针索引" . $container->key() . PHP_EOL;while ($container->valid()) { //获取以后指针地位的对象 $object = $container->current(); var_dump($object); echo "对象名称:" . $object->name . PHP_EOL; //存储空间指针下移 $container->next();}
上一篇:SPL 数据结构3-SplFixedArray