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