微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SPL之SplObjectStorage对象存储

<?PHP
/**
 * Created by PHPStorm.
 * User: zrj
 * Date: 18-4-24
 * Time: 下午8:37
 */

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();
echo "<br/>";

//判断指定的对象是否在存储空间中
echo "是否包含指定对象:";
var_dump($container->contains($lisi));
echo "<br/>";

//从存储中删除指定对象
echo "删除指定对象";
$container->detach($wangwu);

//查看当前指针所在的索引位置
echo "指针索引" . $container->key();
echo "<br/>";

//重置存储空间指针
$container->rewind();

//校验当前指针是否有效
var_dump($container->valid());


//遍历存储空间
echo "<pre>";
while ($container->valid()) {

    //获取当前指针位置的对象
    var_dump($container->current());

    //存储空间指针下移
    $container->next();
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐