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 相关文章推荐
PHP5新特性: 更加面向对象化的PHP
Nov 18 PHP
PHP4中session登录页面的应用
Jul 25 PHP
sqlyog 中文乱码问题的设置方法
Oct 19 PHP
php 破解防盗链图片函数
Dec 09 PHP
php面向对象全攻略 (七) 继承性
Sep 30 PHP
php+mysql事务rollback&commit示例
Feb 08 PHP
php中serialize序列化与json性能测试的示例分析
Apr 27 PHP
PHP高级编程实例:编写守护进程
Sep 02 PHP
php中base64_decode与base64_encode加密解密函数实例
Nov 24 PHP
PHP折半(二分)查找算法实例分析
May 12 PHP
thinkPHP5框架auth权限控制类与用法示例
Jun 12 PHP
浅谈PHP各环境下的伪静态配置
Mar 13 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 来访国内外IP判断代码并实现页面跳转
2009/12/18 PHP
php使用PDO从数据库表中读取数据的实现方法(必看)
2017/06/02 PHP
php静态成员方法和静态的成员属性的使用方法
2017/10/26 PHP
找到一点可怜的关于dojo资料,谢谢作者!
2006/12/06 Javascript
css图片自适应大小
2007/11/28 Javascript
js 模拟气泡屏保效果代码
2010/07/10 Javascript
windows系统下简单nodejs安装及环境配置
2013/01/08 NodeJs
node.js中的querystring.parse方法使用说明
2014/12/10 Javascript
深入理解JavaScript系列(25):设计模式之单例模式详解
2015/03/03 Javascript
JavaScript实现把rgb颜色转换成16进制颜色的方法
2015/06/01 Javascript
jquery实现九宫格大转盘抽奖
2015/11/13 Javascript
解决jQuery使用JSONP时产生的错误
2015/12/02 Javascript
基于d3.js实现实时刷新的折线图
2016/08/03 Javascript
JS获取及验证开始结束日期的方法
2016/08/20 Javascript
Vue.js标签页组件使用方法详解
2019/10/19 Javascript
vue-cli3 取消eslint校验代码的解决办法
2020/01/16 Javascript
JS如何实现封装列表右滑动删除收藏按钮
2020/07/23 Javascript
Python 正则表达式实现计算器功能
2017/04/29 Python
运动检测ViBe算法python实现代码
2018/01/09 Python
python编程测试电脑开启最大线程数实例代码
2018/02/09 Python
python实现两个文件合并功能
2018/04/01 Python
python顺序的读取文件夹下名称有序的文件方法
2018/07/11 Python
python打开使用的方法
2019/09/30 Python
Pycharm连接远程服务器过程图解
2020/04/30 Python
解决Python发送Http请求时,中文乱码的问题
2020/04/30 Python
python对接ihuyi实现短信验证码发送
2020/05/10 Python
机械专业应届生求职信
2013/09/21 职场文书
教师岗位职责
2013/11/17 职场文书
试用期员工工作自我评价
2014/09/10 职场文书
教师岗位职责
2015/02/03 职场文书
旅游项目合作意向书
2015/05/08 职场文书
2015年社区平安建设工作总结
2015/05/13 职场文书
工商局调档介绍信
2015/10/22 职场文书
《迟到》教学反思
2016/02/24 职场文书
《追风筝的人》:人心中的成见是座大山,但请不忘初心
2019/11/15 职场文书
一文搞懂PHP中的抽象类和接口
2022/05/25 PHP