使PHP对象的行为像数组一样?
时间:2020-03-05 18:54:06 来源:igfitidea点击:
我希望能够编写一个行为类似于数组并使用常规数组语法进行&设置的PHP类。
例如(其中Foo是我制作的PHP类):
$foo = new Foo(); $foo['fooKey'] = 'foo value'; echo $foo['fooKey'];
我知道PHP具有_get和_set魔术方法,但是这些方法不允许我们使用数组表示法来访问项目。 Python通过重载__getitem__和__setitem__来处理它。
有没有办法在PHP中做到这一点?如果有所作为,我正在运行PHP 5.2.
解决方案
回答
如果我们扩展ArrayObject或者实现ArrayAccess,那么我们可以做自己想做的事情。
- 数组对象
- 数组访问