PHP 5.3从对象获取器访问数组键

我有一个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中有效,您需要执行以下操作之一:

  1. 使用一个临时变量:

    $temp = $form->fields()
    echo $temp['fieldname'];
    
  2. 将fields数组作为对象属性而不是方法输出:
    即...。

    echo $form->fields['fieldname']
    

    ...是完全有效的。

  3. 或者,当然,您可以将服务器升级到PHP 5.4。请记住,由于5.5已发布,因此5.3的寿命将很快宣布终止,因此无论如何您都希望早晚升级。也许这是您的提示?(并且不必担心;从5.3升级到5.4的升级路径非常简单;除了已经被弃用的东西之外,没有什么会破坏的)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP对象数组获取键

来自分类Dev

对象数组搜索PHP Laravel 5

来自分类Dev

从php laravel 5中的数组中的数组获取键值

来自分类Dev

PHP-从数组中获取5个唯一值

来自分类Dev

php named()访问被拒绝。(代码:5)

来自分类Dev

PHP获取父数组的键

来自分类Dev

PHP 5中的对象和引用

来自分类Dev

PHP5-从数组中删除索引

来自分类Dev

PHP 访问数组键内的数组

来自分类Dev

Codecademy-PHP-PHP中的对象(5/10)

来自分类Dev

Codecademy-PHP-PHP中的对象(5/10)

来自分类Dev

PHP多维数组搜索并获取键的数组

来自分类Dev

从对象内部的数组中获取数组键(受保护)值(来自RTM-php)?

来自分类Dev

从对象内部的数组中获取数组键(受保护)值(RTM-php的响应)?

来自分类Dev

PHP:使用键int访问对象

来自分类Dev

PHP:使用键int访问对象

来自分类Dev

从对象中获取数组 | php

来自分类Dev

如何通过键从对象属性的多维数组中获取值作为PHP中的数字

来自分类Dev

PHP:通过值输入获取数组键。

来自分类Dev

PHP:获取多维数组中的键

来自分类Dev

PHP:通过值输入获取数组键。

来自分类Dev

从PHP数组中的键中获取价值

来自分类Dev

Apache2ctl + PHP 5访问错误

来自分类Dev

如何从PHP5访问Lotus Notes数据库

来自分类Dev

Apache2ctl + PHP 5访问错误

来自分类Dev

Laravel 5访问mail.php中的全局变量

来自分类Dev

如何从javascript访问php对象数组中的php对象属性

来自分类Dev

访问PHP数组对象(stdClass)值

来自分类Dev

访问PHP数组对象(stdClass)值