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的栏目导航程序
Oct 09 PHP
php FLEA中二叉树数组的遍历输出
Sep 26 PHP
关于二级目录拖拽排序的实现(源码示例下载)
Apr 26 PHP
基于PHP异步执行的常用方式详解
Jun 03 PHP
thinkphp 多表 事务详解
Jun 17 PHP
php session劫持和防范的方法
Nov 12 PHP
PHP实现文件下载断点续传详解
Oct 15 PHP
php调用mysql存储过程实例分析
Dec 29 PHP
php判断输入是否是纯数字,英文,汉字的方法
Mar 05 PHP
深入了解PHP中的Array数组和foreach
Nov 06 PHP
PHP使用ActiveMQ实例
Feb 05 PHP
laravel5.1 ajax post 传值_token示例
Oct 24 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
PHP 缓存实现代码及详细注释
2010/05/16 PHP
PDO预处理语句PDOStatement对象使用总结
2014/11/20 PHP
ucenter中词语过滤原理分析
2016/07/13 PHP
Laravel框架自定义分页样式操作示例
2020/01/26 PHP
动态加载js文件 document.createElement
2006/10/14 Javascript
JavaScript Date对象使用总结
2009/05/14 Javascript
jquery keypress,keyup,onpropertychange键盘事件
2010/06/25 Javascript
js获取本机的外网/广域网ip地址完整源码
2013/08/12 Javascript
扩展jQuery对象时如何扩展成员变量具体怎么实现
2014/04/25 Javascript
Js Jquery创建一个弹出层可加载一个页面
2014/05/08 Javascript
extjs每个组件要设置唯一的ID否则会出错
2014/06/15 Javascript
利用JQuery写一个简单的异步分页插件
2016/03/07 Javascript
jquery.validate表单验证插件使用方法解析
2016/11/07 Javascript
浅谈JS封闭函数、闭包、内置对象
2017/07/18 Javascript
Vue常用指令详解分析
2018/08/19 Javascript
webpack4+Vue搭建自己的Vue-cli项目过程分享
2018/08/29 Javascript
vue-video-player视频播放器使用配置详解
2020/10/23 Javascript
vue表单验证之禁止input输入框输入空格
2020/12/03 Vue.js
详解tensorflow实现迁移学习实例
2018/02/10 Python
Python机器学习算法之k均值聚类(k-means)
2018/02/23 Python
Python读写zip压缩文件的方法
2018/08/29 Python
python向字符串中添加元素的实例方法
2019/06/28 Python
Python3 itchat实现微信定时发送群消息的实例代码
2019/07/12 Python
实现ECharts双Y轴左右刻度线一致的例子
2020/05/16 Python
Python try except finally资源回收的实现
2021/01/25 Python
HTML5 贪吃蛇游戏实现思路及源代码
2013/09/03 HTML / CSS
纽约市的奢华内衣目的地:Anya Lust
2019/08/02 全球购物
大唐面试试题(CPU,UNIX等等)
2012/01/11 面试题
股权收购意向书
2014/04/01 职场文书
关于祖国的演讲稿
2014/05/04 职场文书
防灾减灾日活动总结
2014/08/26 职场文书
2014司机年终工作总结
2014/12/05 职场文书
单位综合评价意见
2015/06/05 职场文书
会议承办单位欢迎词
2019/07/09 职场文书
秀!学妹看见都惊呆的Python小招数!【详细语言特性使用技巧】
2021/04/27 Python
CSS实现五种常用的2D转换
2021/12/06 HTML / CSS