PHP SplObjectStorage使用实例


Posted in PHP onMay 12, 2015

PHP SPL SplObjectStorage是用来存储一组对象的,特别是当你需要唯一标识对象的时候。
PHP SPL SplObjectStorage类实现了Countable,Iterator,Serializable,ArrayAccess四个接口。可实现统计、迭代、序列化、数组式访问等功能。

PHP SplObjectStorage使用实例

看下面一个简单的例子:

class A {
  public $i;
  public function __construct($i) {
    $this->i = $i;
  }
}
 
$a1 = new A(1);
$a2 = new A(2);
$a3 = new A(3);
$a4 = new A(4);
 
$container = new SplObjectStorage();
 
//SplObjectStorage::attach 添加对象到Storage中
$container->attach($a1);
$container->attach($a2);
$container->attach($a3);
 
//SplObjectStorage::detach 将对象从Storage中移除
$container->detach($a2);
 
//SplObjectStorage::contains用于检查对象是否存在Storage中
var_dump($container->contains($a1)); //true
var_dump($container->contains($a4)); //false
 
//遍历
$container->rewind();
while($container->valid()) {
  var_dump($container->current());
  $container->next();
}
PHP 相关文章推荐
56.com视频采集接口程序(PHP)
Sep 22 PHP
PHP定时执行计划任务的多种方法小结
Dec 19 PHP
php处理文件的小例子(解压缩,删除目录)
Feb 03 PHP
PHP @ at 记号的作用示例介绍
Oct 10 PHP
thinkphp获取栏目和文章当前位置的方法
Oct 29 PHP
PHP字符串word末字符实现大小写互换的方法
Nov 10 PHP
PHP与Ajax相结合实现登录验证小Demo
Mar 16 PHP
PHP的中使用非缓冲模式查询数据库的方法
Feb 05 PHP
php制作基于xml的RSS订阅源功能示例
Feb 08 PHP
PHP实现的多维数组排序算法分析
Feb 10 PHP
Laravel-添加后台模板AdminLte的实现方法
Oct 08 PHP
PHP设计模式(七)组合模式Composite实例详解【结构型】
May 02 PHP
PHP中预定义的6种接口介绍
May 12 #PHP
迪菲-赫尔曼密钥交换(Diffie?Hellman)算法原理和PHP实现版
May 12 #PHP
PHP 反射(Reflection)使用实例
May 12 #PHP
PHP Reflection API详解
May 12 #PHP
php通过curl模拟登陆DZ论坛
May 11 #PHP
PHP中的魔术方法总结和使用实例
May 11 #PHP
php基于curl扩展制作跨平台的restfule 接口
May 11 #PHP
You might like
模拟OICQ的实现思路和核心程序(一)
2006/10/09 PHP
php自定义截取中文字符串-utf8版
2017/02/27 PHP
PHP7如何开启Opcode打造强悍性能详解
2018/05/11 PHP
jQuery页面图片伴随滚动条逐渐显示的小例子
2013/03/21 Javascript
js读取被点击次数的简单实例(从数据库中读取)
2014/03/07 Javascript
js图片预加载示例
2014/04/30 Javascript
详解JavaScript ES6中的模板字符串
2015/07/28 Javascript
jQuery实现的背景动态变化导航菜单效果
2015/08/24 Javascript
JavaScript如何获取数组最大值和最小值
2015/11/18 Javascript
AngularJS实现单独作用域内的数据操作
2016/09/05 Javascript
MUI 解决动态列表页图片懒加载再次加载不成功的bug问题
2017/04/13 Javascript
node.js自动上传ftp的脚本分享
2018/06/16 Javascript
你可能不知道的CORS跨域资源共享
2019/03/13 Javascript
[04:37]DOTA2英雄梦之声Vol20发条
2014/06/20 DOTA
使用Python获取Linux系统的各种信息
2014/07/10 Python
在Django中创建第一个静态视图
2015/07/15 Python
Python自动化运维和部署项目工具Fabric使用实例
2016/09/18 Python
Python针对给定列表中元素进行翻转操作的方法分析
2018/04/27 Python
python中使用print输出中文的方法
2018/07/16 Python
pandas每次多Sheet写入文件的方法
2018/12/10 Python
解决python3.5 正常安装 却不能直接使用Tkinter包的问题
2019/02/22 Python
opencv调整图像亮度对比度的示例代码
2019/09/27 Python
linux 下python多线程递归复制文件夹及文件夹中的文件
2020/01/02 Python
sklearn的predict_proba使用说明
2020/06/28 Python
python 下载文件的多种方法汇总
2020/11/17 Python
美国顶尖折扣时尚购物网:Bluefly
2016/08/28 全球购物
施华洛世奇天猫官方旗舰店:SWAROVSKI
2017/04/17 全球购物
家庭户外服装:Hawkshead
2017/11/02 全球购物
娇韵诗香港官网:Clarins香港
2020/08/13 全球购物
历史学专业推荐信
2013/11/06 职场文书
2014年公司迎新年活动方案
2014/02/24 职场文书
小学语文国培感言
2014/03/04 职场文书
公司年会策划方案
2014/05/17 职场文书
违反学校规则制度检讨书
2015/01/01 职场文书
幼儿园小班个人工作总结
2015/02/12 职场文书
「女孩的钓鱼慢活」全新版权绘公布
2022/03/21 日漫