PHP,SPL,ArrayAccess接口

Avi*_*ida 1 php arrays spl arrayaccess

我试图理解ArrayAccess接口背后的想法,

我不明白每个方法的含义,如果那些方法(函数)是"内置"函数而ArrayAccess接口(也是"内置")只是"确保"我将实现那些"内置"方法(函数) )

我试图理解每个函数在我们的代码"幕后花絮"中做了什么.

function offsetSet($offset, $value);
function offsetGet($offset);
function offsetUnset($offset);
function offsetExists($offset);
Run Code Online (Sandbox Code Playgroud)

如果我理解ArrayAccess是一个内置接口,包含要实现的密封,当我们实现它们时,我们只实现对内置函数的引用,如果有人能帮助我做到这一点,我将很高兴.

Mat*_*hew 6

如果实现该接口,则该对象就像一个数组.例如,if $foo是实现的类的实例ArrayAccess:

$foo['bar'] = 42电话offsetSet('bar', 42).

echo $foo['bar']电话offsetGet('bar').

unset($foo['bar'])电话offsetUnset('bar').

isset($foo['bar'])电话offsetExists('bar').

你永远不会自己明确地调用函数offset*.当您将对象作为数组访问时,它会隐式发生.