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&mysql(一)
Oct 09 PHP
构建简单的Webmail系统
Oct 09 PHP
PHP+APACHE实现用户论证的方法
Oct 09 PHP
用php实现像JSP,ASP里Application那样的全局变量
Jan 12 PHP
php开发环境配置记录
Jan 14 PHP
PHP开发不能违背的安全规则 过滤用户输入
May 01 PHP
PHP sprintf()函数用例解析
May 18 PHP
完整删除ecshop中获取店铺信息的API
Dec 24 PHP
浅析Yii2 gridview实现批量删除教程
Apr 22 PHP
PHP开发的文字水印,缩略图,图片水印实现类与用法示例
Apr 12 PHP
PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解
Jun 05 PHP
Linux系统下安装PHP7.3版本
Jun 26 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的header和asp中的redirect比较
2006/10/09 PHP
PHP脚本的10个技巧(4)
2006/10/09 PHP
在PHP中实现Javascript的escape()函数代码
2010/08/08 PHP
ThinkPHP3.1新特性之命名范围的使用
2014/06/19 PHP
PHP中返回引用类型的方法
2015/04/03 PHP
php获取excel文件数据
2017/04/21 PHP
浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
2019/10/21 PHP
JavaScript 模拟用户单击事件
2009/12/31 Javascript
SOSO地图API使用(一)在地图上画圆实现思路与代码
2013/01/15 Javascript
js弹出层包含flash 不能关闭隐藏的2种处理方法
2013/06/17 Javascript
页面内容排序插件jSort使用方法
2015/10/10 Javascript
JS封装的三级联动菜单(使用时只需要一行js代码)
2016/10/24 Javascript
BootStrap按钮标签及基本样式
2016/11/23 Javascript
纯javaScript、jQuery实现个性化图片轮播【推荐】
2017/01/08 Javascript
Vue单文件组件的如何使用方式介绍
2017/07/28 Javascript
vue页面离开后执行函数的实例
2018/03/13 Javascript
解决angularJS中input标签的ng-change事件无效问题
2018/09/13 Javascript
vue.js实现备忘录demo
2019/06/26 Javascript
微信小程序自定义组件实现环形进度条
2020/11/17 Javascript
如何编写一个 Webpack Loader的实现
2020/10/18 Javascript
Electron+vue从零开始打造一个本地播放器的方法示例
2020/10/27 Javascript
vue+echarts实现中国地图流动效果(步骤详解)
2021/01/27 Vue.js
Flask入门教程实例:搭建一个静态博客
2015/03/27 Python
pycharm中连接mysql数据库的步骤详解
2017/05/02 Python
Python文件的读写和异常代码示例
2017/10/31 Python
python实现百万答题自动百度搜索答案
2018/01/16 Python
python3.x上post发送json数据
2018/03/04 Python
攻击者是如何将PHP Phar包伪装成图像以绕过文件类型检测的(推荐)
2018/10/11 Python
Python 实例方法、类方法、静态方法的区别与作用
2019/08/14 Python
教师实习自我鉴定
2013/12/18 职场文书
土木工程师职业规划范文
2014/03/07 职场文书
党员批评与自我批评思想汇报
2014/10/08 职场文书
人力资源部岗位职责
2015/02/11 职场文书
公司车辆维修管理制度
2015/08/05 职场文书
php中配置文件保存修改操作 如config.php文件的读取修改等操作
2021/05/12 PHP
Django框架之路由用法
2022/06/10 Python