PHP 的ArrayAccess接口 像数组一样来访问你的PHP对象


Posted in PHP onOctober 12, 2010
interface ArrayAccess 
boolean offsetExists($index) 
mixed offsetGet($index) 
void offsetSet($index, $newvalue) 
void offsetUnset($index)

下面的例子展示了如何使用这个接口,例子并不是完整的,但是足够看懂,:->
<?php 
class UserToSocialSecurity implements ArrayAccess 
{ 
private $db;//一个包含着数据库访问方法的对象 
function offsetExists($name) 
{ 
return $this->db->userExists($name); 
} 
function offsetGet($name) 
{ 
return $this->db->getUserId($name); 
} 
function offsetSet($name, $id) 
{ 
$this->db->setUserId($name, $id); 
} 
function offsetUnset($name) 
{ 
$this->db->removeUser($name); 
} 
} 
$userMap = new UserToSocialSecurity(); 
print "John's ID number is " . $userMap['John']; 
?>

实际上,当 $userMap['John'] 查找被执行时,PHP 调用了 offsetGet() 方法,由这个方法再来调用数据库相关的 getUserId() 方法。
PHP 相关文章推荐
聊天室php&amp;mysql(一)
Oct 09 PHP
php strcmp使用说明
Apr 22 PHP
PHP If Else(elsefi) 语句
Apr 07 PHP
教你如何解密 “ PHP 神盾解密工具 ”
Jun 20 PHP
如何让CI框架支持service层
Oct 29 PHP
PHP生成不重复随机数的方法汇总
Nov 19 PHP
PHP解密Unicode及Escape加密字符串
May 17 PHP
php微信开发之带参数二维码的使用
Aug 03 PHP
Yii2.0多文件上传实例说明
Jul 24 PHP
php设计模式之装饰模式应用案例详解
Jun 17 PHP
在Laravel中使用MongoDB的方法示例
Nov 11 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
Apr 04 PHP
php中去除所有js,html,css代码
Oct 12 #PHP
PHP入门学习笔记之一
Oct 12 #PHP
PHP 显示客户端IP与服务器IP的代码
Oct 12 #PHP
约瑟夫环问题的PHP实现 使用PHP数组内部指针操作函数
Oct 12 #PHP
使用PHP 5.0创建图形的巧妙方法
Oct 12 #PHP
POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
Oct 12 #PHP
献给php初学者(入门学习经验谈)
Oct 12 #PHP
You might like
PHP实现图片简单上传
2006/10/09 PHP
php通过修改header强制图片下载的方法
2015/03/24 PHP
确保Laravel网站不会被嵌入到其他站点中的方法
2019/10/18 PHP
Jquery判断$(&quot;#id&quot;)获取的对象是否存在的方法
2013/09/25 Javascript
JS中的this变量的使用介绍
2013/10/21 Javascript
jquery实现上下左右滑动的方法
2015/02/09 Javascript
JavaScript中的parse()方法使用简介
2015/06/12 Javascript
javascript实现继承的简单实例
2015/07/26 Javascript
JS实现鼠标移上去显示图片或微信二维码
2016/12/14 Javascript
利用jquery如何从json中读取数据追加到html中
2017/12/01 jQuery
vue v-model动态生成详解
2018/06/30 Javascript
Angular使用Restful的增删改
2018/12/28 Javascript
每天学点Vue源码之vm.$mount挂载函数
2019/03/11 Javascript
实例分析Array.from(arr)与[...arr]到底有何不同
2019/04/09 Javascript
layui实现左侧菜单点击右侧内容区显示
2019/07/26 Javascript
js实现图片上传即时显示效果
2019/09/30 Javascript
JavaScript ECMA-262-3 深入解析(一):执行上下文实例分析
2020/04/25 Javascript
vue 需求 data中的数据之间的调用操作
2020/08/05 Javascript
djang常用查询SQL语句的使用代码
2019/02/15 Python
python顺序执行多个py文件的方法
2019/06/29 Python
opencv转换颜色空间更改图片背景
2019/08/20 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
2020/01/03 Python
python实现滑雪者小游戏
2020/02/22 Python
Pycharm修改python路径过程图解
2020/05/22 Python
python 贪心算法的实现
2020/09/18 Python
彪马美国官网:PUMA美国
2017/03/09 全球购物
朗仕(Lab series)英国官网:雅诗兰黛集团男士专属护肤品牌
2017/11/28 全球购物
Perfume’s Club澳大利亚官网:西班牙领先的在线美容店
2021/02/01 全球购物
高中毕业生自我鉴定
2013/11/03 职场文书
高一物理教学反思
2014/01/24 职场文书
平安工地建设方案
2014/05/06 职场文书
群众路线自我剖析范文
2014/11/04 职场文书
家属慰问信
2015/02/14 职场文书
先进个人自荐书
2015/03/06 职场文书
党员转正介绍人意见
2015/06/03 职场文书
2019毕业论文致谢词
2019/06/24 职场文书