<?php //get the methods instance of ArrayAccess //get the properties instance of ArrayAccess $reflection = new ReflectionClass('ArrayAccess'); //var_dump($reflection->getMethods()); //var_dump($reflection->getProperties()); class dbTypes implements ArrayAccess{ private $dbtypes = array(); //判定是否存在 public function offsetExists($offset){ return isset($this->dbtypes[$offset]) ? true : false; } //获取一个值 public function offsetGet($offset){ if($this->offsetExists($offset)){ return $this->dbtypes[$offset]; }else{ return null; } } //设置一个值 public function offsetSet($offset,$value){ $this->dbtypes[$offset] = $value; } //删除一个值 public function offsetUnset($offset){ unset($this->dbtypes[$offset]); } } $types = new dbTypes(); echo $types['nosql'];