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 相关文章推荐
PHP 和 COM
Oct 09 PHP
php中文本数据翻页(留言本翻页)
Oct 09 PHP
ajax完美实现两个网页 分页功能的实例代码
Apr 16 PHP
浅谈PHP与C#的值类型指向区别的详解
May 21 PHP
PHP6 中可能会出现的新特性预览
Apr 04 PHP
smarty内置函数{loteral}、{ldelim}和{rdelim}用法实例
Jan 22 PHP
PHP使用mkdir创建多级目录的方法
Dec 22 PHP
程序员的表白神器“520”大声喊出来
May 20 PHP
Yii核心验证器api详解
Nov 23 PHP
PHP实现的随机红包算法示例
Aug 14 PHP
ThinkPHP5框架缓存查询操作分析
May 30 PHP
PHP hebrev()函数用法讲解
Feb 21 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
CodeIgniter实现更改view文件夹路径的方法
2014/07/04 PHP
php简单日历函数
2015/10/28 PHP
PHP获取指定时间段之间的 年,月,天,时,分,秒
2016/06/05 PHP
php遍历替换目录下文件指定内容的方法
2016/11/10 PHP
php微信公众号开发之图片回复
2018/10/20 PHP
PHP使用redis位图bitMap 实现签到功能
2019/10/08 PHP
js 对联广告、漂浮广告封装类(IE,FF,Opera,Safari,Chrome
2009/11/26 Javascript
DLL+ ActiveX控件+WEB页面调用例子
2010/08/07 Javascript
ASP.NET jQuery 实例11 通过使用jQuery validation插件简单实现用户登录页面验证功能
2012/02/03 Javascript
根据身份证号自动输出相关信息(籍贯,出身日期,性别)
2013/11/15 Javascript
jQuery(js)获取文字宽度(显示长度)示例代码
2013/12/31 Javascript
用js设置下拉框为只读的小技巧
2014/04/10 Javascript
JavaScript中的类数组对象介绍
2014/12/30 Javascript
jQuery实现炫酷的鼠标轨迹特效
2015/02/01 Javascript
js跨域请求数据的3种常用的方法
2015/12/01 Javascript
基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号)
2015/12/29 Javascript
JavaScript模拟数组合并concat
2016/03/06 Javascript
Javascript实现跑马灯效果的简单实例
2016/05/31 Javascript
详解jQuery事件
2017/01/13 Javascript
js如何获取网页所有图片
2017/05/12 Javascript
Vue与Node.js通过socket.io通信的示例代码
2018/07/25 Javascript
基于vue-upload-component封装一个图片上传组件的示例
2018/10/16 Javascript
Node.js实现一个HTTP服务器的方法示例
2019/05/13 Javascript
JS常见内存泄漏及解决方案解析
2020/05/30 Javascript
如何通过vscode运行调试javascript代码
2020/07/24 Javascript
Node.js利用Express实现用户注册登陆功能(推荐)
2020/10/26 Javascript
使用Tensorboard工具查看Loss损失率
2020/02/15 Python
浅谈pytorch中torch.max和F.softmax函数的维度解释
2020/06/28 Python
BIBLOO波兰:捷克的一家在线服装店
2018/03/09 全球购物
某公司面试题
2012/03/05 面试题
高中的职业生涯规划书
2013/12/28 职场文书
将相和教学反思
2014/02/04 职场文书
工作违纪检讨书范文
2015/01/26 职场文书
给老师的保证书怎么写
2015/05/09 职场文书
看上去很美观后感
2015/06/10 职场文书
pt-archiver 主键自增
2022/04/26 MySQL