【发布时间】:2013-07-09 10:24:06
【问题描述】:
我有一个表单对象 $form。它的一个变量是一个 Field 对象,它代表所有字段并且是一个数组(例如$this->field['fieldname'])。吸气剂是$form->fields()。
要访问特定的字段方法(例如是否需要),我使用$form->fields()['fieldname'],它在带有 wamp 的 localhost 上工作,但在服务器上抛出此错误:
Parse error: syntax error, unexpected '[' in (...)
我在服务器上有 PHP 5.3,因为我重新安装了 wamp 并忘记将其更改回 5.3,所以 wamp 运行 PHP 5.4。所以我猜这就是错误的原因。
如何使用 PHP 5.3 通过数组键访问返回数组的对象方法?
【问题讨论】:
-
使用临时变量:
$fields = $form->fields; echo $fields['fieldname']; -
只是为了解释这里发生了什么,PHP 5.4 中引入的这种行为称为函数数组解引用。记录在案的here。
-
PHP 文档中的更多详细信息:php.net/manual/en/language.types.array.php#example-88