php - 较低版本的 php 提示括号。为什么?

标签 php syntax-error

这个问题在这里已经有了答案:





Reference - What does this error mean in PHP?

(37 个回答)


7年前关闭。




我一直在使用 Mamp 进行本地开发,在我上传到服务器之前一切都很好。我已将问题缩小到与 php 版本有关。 Mamp 在比服务器更新的版本上运行。

如果我在 PHP 5.6.2(或 5.5.X)上运行 Mamp,我的代码没有问题。但是,如果我只是在提示以下代码行时将 Mamp 首选项中的 PHP 版本更改为 PHP 5.3.29:

$shipping = reset($arrShipOptions['options'])[0]['price'];

错误是:

syntax error, unexpected '['



首先想到的是 reset() 可能是一个新函数。但根据 http://php.net/manual/en/function.reset.php它已经在 PHP 4 中可用

请多加一双眼睛来说明这一点。
谢谢

最佳答案

在较旧的 PHP 版本中,您必须从 reset 分配结果(或任何其他函数)到变量,然后使用 [] 访问它.

 $shipping = reset($arrShipOptions['options']);
 $shipping = $shipping[0]['price'];

关于php - 较低版本的 php 提示括号。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27783253/

相关文章:

javascript语法错误预期表达式,得到 '<'

c++ - 在父函数中调用覆盖的子函数

javascript - 如何修复 Javascript 中缺少分号的语法错误?

sql - 命令包含无法识别的词组/关键字VFP和SQL

php - 为什么 Laravel API 在 POST 和 PUT 方法上返回 419 状态码?

php - Codeigniter PHP 从 mysql 数据库表中提取记录以显示在页面上

php - 如何保持多个mysql数据库中的行同步?最好有 Doctrine

mysql - 为什么在 UPDATE SET 中使用 AND 关键字时 MySQL 不抛出错误

php - 如何执行 MySQL 查询以获取按 id 排序的不同订阅的所有行?

javascript - 来自 ajax 调用的 JSON 输入意外结束