PHP SplObjectStorage使用实例

简介

SplObjectStorage 类提供从对象到数据的映射,或者通过忽略数据,提供对象集。在需要唯一标识对象的许多情况下,这种双重用途非常有用。
当需要存储一组对象,并循环遍历时,可以使用该数据结构。
官网介绍:https://www.php.net/manual/zh/class.splobjectstorage.php

使用示例:

$s = new \SplObjectStorage();
$object1 = new Animal('dog');
$object2 = new Animal('cat');
$object3 = new Animal('pig');
$s->attach($object1);
$s->attach($object2);
$s->attach($object3);
while($s->valid()) {
    $index = $s->key();
    $object = $s->current();
    echo $index.'-'.$object->getName().'<br>';
    $s->next();
}

class Animal
{
    private $name='';
    public function __construct($name)
    {
        $this->name = $name;
    }

    public function getName()
    {
        return $this->name;
    }
}

发表评论

邮箱地址不会被公开。 必填项已用*标注