我有一个Form对象$ 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通过数组键访问返回数组的对象方法?
如问题中所述,数组取消引用是仅在PHP 5.4中添加的功能。PHP 5.3无法做到这一点。
echo $form->fields()['fieldname']
因此,此代码将在PHP 5.4和更高版本中工作。
为了使此功能在PHP 5.3中有效,您需要执行以下操作之一:
使用一个临时变量:
$temp = $form->fields()
echo $temp['fieldname'];
将fields数组作为对象属性而不是方法输出:
即...。
echo $form->fields['fieldname']
...是完全有效的。
或者,当然,您可以将服务器升级到PHP 5.4。请记住,由于5.5已发布,因此5.3的寿命将很快宣布终止,因此无论如何您都希望早晚升级。也许这是您的提示?(并且不必担心;从5.3升级到5.4的升级路径非常简单;除了已经被弃用的东西之外,没有什么会破坏的)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句