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