首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PHP中ArrayAccess接口的好处?

在PHP中ArrayAccess接口的好处?
EN

Stack Overflow用户
提问于 2010-12-01 07:00:21
回答 2查看 2.1K关注 0票数 4

在PHP中实现ArrayAccess接口,我们可以访问对象属性作为数组键。让一个对象像一个数组一样工作有什么好处?

就像我看到的框架实现‘表单’与ArrayAccess Interface,然后我们可以访问(超文本标记语言)表单对象字段类似于,

代码语言:javascript
复制
$form['nameField']   instead-of  $form->nameField 
$form['titleField']  instead-of  $form->titleField

$form->nameField代替$form['nameField]有什么好处?

是“数组数据结构”的速度,还是对象和数组形式之间的可移植性?

还是我错过了什么?:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-01 07:07:34

没有功能上的好处,但有结构上的好处。

如果您定义了一个map,您建议它可以包含任意数量的命名元素,这些元素是相似类型的。对象属性通常定义良好且具有不同的类型。

简而言之:如果你实现了ArrayAccess,你会说“我的对象(也)表现得像一个数组”。

http://en.wikipedia.org/wiki/Associative_array

票数 5
EN

Stack Overflow用户

发布于 2010-12-01 07:06:39

首先,它使得访问密钥不是有效标识符的成员(例如,包含笨拙的字符)变得更容易/更自然。例如,您可以编写$form['some-field']而不是更麻烦的$form->{'some-field'}

除此之外,它本质上与实现__get__set__isset__unset魔术方法相同,只是允许不同的语法(并且具有略微不同的语义内涵)。参见overloading

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4319603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档