使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,那么我们可以做自己想做的事情。

  • 数组对象
  • 数组访问