SPL 数据结构4-SplObjectStorage

Posted tim_xiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SPL 数据结构4-SplObjectStorage相关的知识,希望对你有一定的参考价值。

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

以上是关于SPL 数据结构4-SplObjectStorage的主要内容,如果未能解决你的问题,请参考以下文章

PHP的SPL扩展库数据结构

SPL 数据结构4-SplObjectStorage

深入浅出 PHP SPL(PHP 标准库)(转)

SPL - 一篇带你读懂从 Jsonpath 和 Xpath 到 SPL

SPL 数据结构1-双向链表,堆栈,队列

PHP--SPL扩展学习笔记