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

 更新时间:2010年10月12日 22:58:23   作者:  
如果想让对象使用起来像一个 PHP 数组,那么我们需要实现 ArrayAccess 接口
复制代码 代码如下:

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创建session的方法实例详解

    php创建session的方法实例详解

    这篇文章主要介绍了php创建session的方法,以实例形式较为详细的分析了php创建及使用session的相关技巧与注意事项,需要的朋友可以参考下
    2015-01-01
  • PHP合并两个或多个数组的方法

    PHP合并两个或多个数组的方法

    在本篇文章里我们给大家带来一篇关于PHP如何合并两个或多个数组的知识点内容,有需要的朋友们学习下。
    2019-01-01
  • 浅谈ThinkPHP中initialize和construct的区别

    浅谈ThinkPHP中initialize和construct的区别

    下面小编就为大家带来一篇浅谈ThinkPHP中initialize和construct的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • php弹出提示框的是实例写法

    php弹出提示框的是实例写法

    在本篇文章里小编给大家整理的是关于php如何弹出提示框的相关实例内容,有需要的朋友们可以学习下。
    2019-09-09
  • PHP几个实用自定义函数小结

    PHP几个实用自定义函数小结

    这篇文章主要介绍了PHP几个实用自定义函数,结合实例总结分析了PHP网络操作、字符串操作、时间操作及正则表达式使用等技巧,需要的朋友可以参考下
    2016-01-01
  • PHP实现打包下载文件的方法示例

    PHP实现打包下载文件的方法示例

    这篇文章主要介绍了PHP实现打包下载文件的方法,涉及php基于curl的文件获取、遍历、zip压缩及下载等相关操作技巧,需要的朋友可以参考下
    2017-10-10
  • PHP利用header跳转失效的解决方法

    PHP利用header跳转失效的解决方法

    这篇文章主要介绍了PHP利用header跳转失效的解决方法,归纳了这类问题的注意事项,非常具有实用价值,需要的朋友可以参考下
    2014-10-10
  • PHP闭包定义与使用简单示例

    PHP闭包定义与使用简单示例

    这篇文章主要介绍了PHP闭包定义与使用,结合简单实例形式分析了php闭包的简单定义、使用方法及相关注意事项,需要的朋友可以参考下
    2018-04-04
  • PHP日期时间函数的高级应用技巧

    PHP日期时间函数的高级应用技巧

    PHP的日期时间函数date()中介绍了PHP日期时间函数的简单用法,这类将介绍更多的函数来丰富我们的应用。
    2009-05-05
  • php使用Jpgraph创建折线图效果示例

    php使用Jpgraph创建折线图效果示例

    这篇文章主要介绍了php使用Jpgraph创建折线图效果,结合实例形式分析了php使用Jpgraph绘制折线图的原理、实现步骤与相关操作技巧,需要的朋友可以参考下
    2017-02-02

最新评论