问题描述
我希望能够写一个行为像一个数组,并使用正常的数组语法获取和放大器的PHP类;设置。
I'd like to be able to write a PHP class that behaves like an array and uses normal array syntax for getting & setting.
例如(其中foo是一个PHP类我的制作):
For example (where Foo is a PHP class of my making):
$foo = new Foo();
$foo['fooKey'] = 'foo value';
echo $foo['fooKey'];
我知道,PHP有_GET和_set神奇的方法,但这些都不会让你使用数组表示法来访问项目。 Python的超载__getitem__和__setitem __处理它。
I know that PHP has the _get and _set magic methods but those don't let you use array notation to access items. Python handles it by overloading __getitem__ and __setitem__.
有没有办法在PHP中做到这一点?如果它的确与众不同,我运行PHP 5.2。
Is there a way to do this in PHP? If it makes a difference, I'm running PHP 5.2.
推荐答案
如果您延长 ArrayObject的
或实施 ArrayAccess接口
那么你可以做你想做的。
If you extend ArrayObject
or implement ArrayAccess
then you can do what you want.
- ArrayObject
- ArrayAccess
这篇关于制作一个PHP对象表现得像一个数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!