📜  PHP | SplObjectStorage contains()函数(1)

📅  最后修改于: 2023-12-03 15:03:39.648000             🧑  作者: Mango

PHP | SplObjectStorage contains()函数介绍

简介

SplObjectStorage 是一个用来存储对象的 PHP 内置类。它继承自 SplObject, 并且实现了 Countable, IteratorAggregate, 和 Serializable 接口。它提供了一个以对象为键的映射关系,以及一些方便的方法来进行对象的增加、删除和遍历。其中包含 contains() 函数,用于判断某个对象是否已经存在于 SplObjectStorage 中。

语法
public bool SplObjectStorage::contains (object $object)
参数
  1. object: 所要检查的对象。
返回值

如果存在指定的对象则返回 true,反之返回 false

示例
<?php

class Foo
{
    private $id;

    public function __construct(int $id)
    {
        $this->id = $id;
    }

    public function getId(): int
    {
        return $this->id;
    }
}

$foo1 = new Foo(1);
$foo2 = new Foo(2);
$foo3 = new Foo(3);

$storage = new SplObjectStorage();
$storage->attach($foo1);
$storage->attach($foo2);

var_dump($storage->contains($foo1)); // true
var_dump($storage->contains($foo3)); // false

输出结果为:

bool(true)
bool(false)
总结

SplObjectStorage 中的 contains() 函数能够方便地判断所给定的对象是否已经存在于容器内。它是 SplObjectStorage 中 一项非常实用的函数。